如何强制npm默认安装特定版本的包?

时间:2016-10-18 10:03:49

标签: node.js npm npm-install

有没有办法配置npm不使用惰性版本安装软件包,如:

"coffee-script": "^1.11.1",

但是

"coffee-script": "1.11.1",

这种行为会成为默认行为吗?我们通常不想使用懒惰版本,我更喜欢手动将所有内容升级到最新版本,而不是由于我的某个依赖项中的错误而在新部署后抛出一个错误。

现在“执行此操作”的唯一方法是每次^后每次手动删除npm install字符,这有点无聊。

2 个答案:

答案 0 :(得分:6)

这是在执行所有软件包的npm安装时将npm配置中的用户变量设置为始终默认使用确切版本的命令。

在终端中输入此命令:

npm config set save-exact=true

新的首选项存储在基于用户的自定义npm配置文件中。它位于:

~/.npmrc

最后,您可以使用以下命令验证设置是否已保存:

npm config ls

官方NPM文件在这里:

https://docs.npmjs.com/misc/config

https://docs.npmjs.com/files/npmrc

答案 1 :(得分:0)

我建议使用 npm shrinkwrap。 它将创建npm-shrinkwrap.json,它指定当前使用的依赖项版本,然后npm install将尊重它。

然后,当您要升级所有依赖项时,删除npm-shrinkwrap.json文件,运行npm install并重新运行npm shrinkwrap。 或者,要升级单个包依赖项,请运行npm install --save <package-name>。这将使用更新的版本信息更新npm-shrinkwrap文件。

请参阅:https://docs.npmjs.com/cli/shrinkwrap