私有NPM:如何安装模块的最新版本?

8
使用私有的npm时,常见命令似乎无法正常工作:
  • 没有特定@versionnpm install命令:问题

  • npm outdated命令:问题

  • npm update命令:问题

  • npm view <private-package-name> versions命令:(尚未发现问题)

    • 还要注意,npm vnpm shownpm info也是别名,同样不起作用

经常情况下,我不知道团队维护的私有模块的最新版本。我想依靠上述命令之一,但它们似乎无法使用。那么,在不知道最新版本的情况下如何安装包?


你的 npm 版本是多少? - Colin Rauch
@Syc npm => v3.10.9. node => v7.0.0. - 1252748
使用 npm install 时出现了什么错误?当您尝试 @jettpleyn 在答案中提供的解决方案时会发生什么? - Colin Rauch
@Syc 不行,那样不起作用。 - 1252748
@Syc 错误 npm ERR! notarget 找不到兼容的版本:<package name>。我现在看到它列出了可用的版本,但当有许多许多版本时,这会变得混乱,我认为用户不应该被迫浏览所有这些版本。 - 1252748
你可以尝试通过运行 npm cache clearnpm rebuild 清理你的 npm 缓存,然后再次尝试。 - Colin Rauch
3个回答

3

如果我理解了你的问题,安装最新的软件包应该是:

npm install <package_name>@latest --save

谢谢!尽管我试过所有的命令,但这个愚蠢的命令竟然被我忘记了!:P - 1252748

0
根据文档,运行npm install package-name应该安装注册表中最新的版本。对于私有的npm实例可能会有所不同,但是文档中也提到了私有仓库,因此看起来并没有区别。

npm install [<@scope>/]<name>@<tag>:

Install the version of the package that is referenced by the specified tag. If the tag does not exist in the registry data for that package, then this will fail.

Example:

npm install sax@latest
npm install @myorg/mypackage@latest

来自:https://docs.npmjs.com/cli/install,于2016年11月23日


谢谢您的回答!您有阅读我链接的问题和我发布的评论吗?等我不用手机了,我会把它们合并到主问题中:@latest也不起作用 :/ - 1252748
是的,我做了。虽然它们已经关闭了,但我真的不明白为什么它们应该关闭。它们看起来像是悬而未决的问题,尤其是考虑到您正在处理它们。您的私有注册表是否进行了自定义或错误配置? - Bob_Gneu

0
我最终采用的解决方案是在运行安装时使用 @* 语法:
npm install --save my-off_the_hook-module@*

这对我来说似乎有点草率,但它确实以一种方式保存了模块的最新版本,就我所知,这等同于更常见(并且我认为更明确)的@latest语法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接