Bootstrap

项目中使用package-lock.json锁版本问题

package-lock.json的作用:

   锁版本,确保项目在后续拉去中,安装依赖包时依赖包的版本始终是统一的

 

在npm install时会自动生成package-lock.json

 

package.json与package-lock.json相同时,npm安装包时以package-lock.json为准,当两者不同时,npm install时会以package.json为准,并同时更新package-lock.json(未经过本人验证)。

 

没必要锁版本时可以不用package-lock.json锁版本。

 

package-lock.json与package.json的不同:

package-lock.json记录的是依赖树,记录了依赖模块之间的完整依赖关系。package.json记录的是依赖项,不能锁定依赖的依赖。

 

额外补充:

   npm vs yarn:

      它们都是包管理工具,npm是node默认的包版本工具。

      yarn的出现最早是为了解决npm的缺点:下载依赖慢、不能确保的版本统一等问题。

      yarn与npm最重要的几点不同:

        yarn是并行安装依赖模块,npm是按队列形式安装前面的包安装完成后面的包才能安装;

        yarn对已经安装过的包会有缓存,npm每次安装都需要去网上下载。

   升级后的npm与yarn一样,也具备了锁版本的功能&

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;