npm install
这两种情况会发生什么?
案例 1: 目录中的节点版本为 10.16.0。 'npm install xyz' 会安装最新的 xyz 还是与 10.16.0 兼容的最新版本?
情况 2: 目录中的节点版本为10.16.0 'npm install -g xyz' 会安装最新的 xyz 或与全局安装的 node 版本兼容的最新版本,还是会考虑 10.16.0?
答案 0 :(得分:2)
回答 最新版本 无论如何
如果包已经安装在项目中或包含在 package.json 文件中,那么版本字符串是 NPM 将尝试和使用的,其中可能包含一个插入符号(^),它告诉 npm 不要更新主要版本.
欲了解更多信息,请阅读下文
除非手动指定,否则 Npm install 将始终安装包的最新完整版本构建(跳过 -tag.x
版本),这可能与某些版本的节点不兼容。并非所有软件包都指定了与之兼容的引擎,因此有时您必须进行一些挖掘或反复试验。
您可以通过向包中添加 @
来手动选择版本。
例如,npm install xyz@10.16.0
将安装该特定软件包版本。您还可以使用插入符号 (^) 为版本号添加前缀以安装最新的次要版本,或使用波浪号 (~) 指定最新的补丁版本。
例如
xyz@^1.2.0 可以安装说 1.8.0,xyz@~1.2.0 可以安装 1.2.9,但永远不会安装 1.3.0
有关在语义版本控制 aka SemVer 上阅读的版本控制字符串的更多信息
答案 1 :(得分:0)
我不确定但是你是否已经安装了带有 -g 标志的 xyz 它不会安装最新版本。
try
npm uninstall -g xyz
then
npm install xyz