目前,如果我运行npm install
,它会安装已安装软件包的更新版本。如何安装与package.json
文件中指定的确切版本相同的软件包?
目前,如果我运行npm install
,它会安装已安装软件包的更新版本。如何安装与package.json
文件中指定的确切版本相同的软件包?
npm默认使用^来安装包,这意味着任何在同一个主要版本范围内的版本都可以,您可以通过使用--save-exact来更改此行为。
// npm
npm install --save --save-exact react
// yarn
yarn add --exact react
如果有人在未来寻找这个内容,我创建了一篇关于这个的博客文章。
https://www.dalejefferson.com/articles/2018-02-04-how-to-save-exact-npm-package-versions/
-E
是--save-exact
或--exact
的简称。 - davnicwilnpm
的安装中成为默认行为? - rmolinamirnpm config set save-exact=true
或者您可以手动将 save-exact=true
添加到您的 .npmrc 文件中。 - TomRaaff这种行为实际上是由 package.json 文件中指定的版本号驱动的。如果版本号看起来像 "1.0.0",没有其他符号,那么就会安装精确版本(1.0.0)。
因此,您可以简单地修改 package.json 文件,然后运行 npm install
命令。在执行此操作之前,请务必清空 node_modules 目录。
package-min.json
文件,并在CI中将其用作package.json
。 - David Callanan您还可以打开 package.json
,并更改要保持不变的软件包的值。将"vue": "^2.6.10"
更改为"vue": "2.6.10"
。请注意版本号前面没有^
符号。
npm i --legacy-peer-deps
package.json
中指定版本的?有一个修饰符可以用于固定版本。 - Sirkopackage.json
中指定的版本是^version
。我只是假设这就是版本号的写法。我会移除^
修饰符。谢谢! - suheb