在 package.json 中使用 * 而不是版本号时如何始终获得最新版本?

How to always get newest version when using * instead of version number in package.json?

我对 package.json 有私人依赖,它应该总是安装最新版本。所以不是版本,而是 *.

"dependencies": {
   "@user/package": "*"
}

在 npmjs 中更新包后,如果我输入确切的版本号而不是 *,它仍然安装带有 npm i 的旧版本 - 它安装一个新版本,就像一天前发布的一样.

一分钟前在 npmjs 更新版本时我遇到了类似的问题,但现在 npmjs 缓存应该已过期并更新为新版本,不是吗?

我怎样才能避免这样的问题并始终获得所有带有 * 的最新版本?

我试过了npm cache verifynpm cache clean --force。运气不好。

您可以尝试使用 packagename@latest 关键字进行安装,但据我所知,您只能在命令行界面中通过 npm install --save 使用此关键字。

npm install --save mypackage@latest

阅读此处的文档后 https://docs.npmjs.com/files/package.json 我发现您可以在 package.json 文件中写入 "latest" 而不是任何版本号。这应该可以解决问题。

即使在初始安装依赖项期间,也有必要使用 npm update 而不是 npm install

这个问题更多地讨论了 npm installnpm update

npm install vs. update - what's the difference?

Conclusion: The only big difference is that an already installed module with fuzzy versioning ...

  • gets ignored by npm install
  • gets updated by npm update

感谢 CodeCaster link 提供正确的命令。但是:

问题仍然存在。大多数时候,它每次都有效。但。当 npm 未解析为最新版本时,刚刚进行了另一个更新。现在将值从 * 转换为数字。对我来说似乎是个错误。