我使用npm Node Packaged Modules来管理项目库, 但我注意到无条件的最新更新版本让我很难受。 (太多未满足的依赖项错误..)
所以我尝试将所有最新版本更改为我当地的当前版本。我发现--save标志使一些库特定版本,但不是全部。有什么好方法可以解决这个问题吗?
答案 0 :(得分:1)
根据NPM documentation,您可以使用" 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,如果存在的话),它具有记录的特定版本在其中,意味着未来npm install
应始终提供这些特定版本。有关详细信息,请参阅NPM documentation for shrinkwrap。