我使用 npm Node Packaged Modules来管理项目库,但我注意到无条件的最新更新版本让我很痛苦。(太多未满足的依赖项错误..)
因此,我尝试将所有最新版本更改为我的本地当前版本。我发现 --save 标志使一些库特定版本,但不是全部。有什么好的方法可以解决这个问题吗?
我使用 npm Node Packaged Modules来管理项目库,但我注意到无条件的最新更新版本让我很痛苦。(太多未满足的依赖项错误..)
因此,我尝试将所有最新版本更改为我的本地当前版本。我发现 --save 标志使一些库特定版本,但不是全部。有什么好的方法可以解决这个问题吗?
根据NPM 文档,您可以使用“semver”字符串来指定如何匹配特定版本,或者该版本号如何更改,以控制您的依赖关系,如下所示:
version Must match version exactly
>version Must be greater than version
>=version etc
<version
<=version
~version "Approximately equivalent to version" See semver(7)
^version "Compatible with version" See semver(7)
1.2.x 1.2.0, 1.2.1, etc., but not 1.3.0
还值得阅读node-semver文档,该文档更详细地定义了如何指定和控制匹配的依赖项的版本。
另一个要调查的命令是npm shrinkwrap
- 这准备了一个 npm-shrinkwrap.json 文件(如果存在,将由npm install
package.json 代替),其中记录了特定版本,这意味着 futurenpm install
应该总是给出那些特定版本. 有关更多信息,请参阅NPM 文档了解更多信息。