无法用yarn安装最新版本的私有npm包

问题描述 投票:0回答:2

我开发私人 npm 包。 我总是使用

npm publish
命令将其发布到注册表,根据文档:

[--tag ] 使用给定标签注册已发布的包,以便

npm install @
将安装此版本。默认情况下,
npm publish
更新并
npm install
安装
latest
标签。有关标签的详细信息,请参阅
npm-dist-tag

始终将最新标签添加到包中。 我什至通过使用双重检查它是否属实

npm dist-tag ls
命令。但我得到了预期的答案:
latest: 1.10.1

问题是,当我在 package.json 中使用此依赖项时,如下所示:

"@prefix/packageName": "latest",

当我使用

yarn install
时,它会下载1.9.0版本而不是最新的1.10.1。

发生什么事了?怎么解决呢?是什么原因造成的?

npm yarnpkg
2个回答
1
投票

通过运行

yarn update
我们可以获得最新版本的包。但是运行 update 命令会带来风险,即它会更新
package.json
中列出的所有其他包。

要停止更新不需要的包,我们可以删除包版本中的

^
前缀,以告诉yarn保持该包的确切版本不变。

"dependencies": {
  "@scope/package-name": "^0.1.9", --> with ^ so it'll fetch the latest.
  "axios": "0.20.0"                --> without ^ so it'll not get the latest.
}

可能有比这更好的解决方案,这是我迄今为止找到的解决方案。


0
投票

npm install
yarn install
的正常行为不仅仅是安装最新版本。

他们会验证您的

node
npm
版本,还会验证您是否与之前安装的另一个库存在兼容性问题,并且需要最旧的版本。

因此,您需要做的是验证您的环境是否支持您期望的

latest
,以及任何需要最旧版本的先前库是否会阻止您升级。

希望这对您有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.