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

Posted

技术标签:

【中文标题】Private NPM:如何安装最新版本的模块?【英文标题】:Private NPM: How can the latest version of a module be installed? 【发布时间】:2017-04-01 09:05:53 【问题描述】:

使用私人npm,常用命令似乎不起作用:

npm install 没有特定的@version :: issue

npm outdated::issue

npm update::issue

npm view <private-package-name> versions :: (还没有发现问题)

另请注意,npm vnpm shownpm info 是 aliases,它们同样不起作用

我经常不知道我的团队维护的私有模块的最新版本。我会求助于上面列出的命令之一,但它们似乎不起作用。如何在不知道最新版本的情况下安装软件包?

【问题讨论】:

你的 npm 版本是多少? @Syc npm => v3.10.9。节点 => v7.0.0. 使用npm install 会出现什么错误?当您在答案中尝试@jettpleyn 解决方案时会发生什么? @Syc 不行。 @Syc 错误npm ERR! notarget No compatible version found: <package name>。它确实列出了我现在看到的可用版本,但是当有很多很多版本时会让人感到困惑,我认为不应该强迫用户对它们进行排序。 【参考方案1】:

我最终得出的解决方案是在运行安装时使用@* 语法:

npm install --save my-off_the_hook-module@*

这对我来说似乎有点草率,但它确实以一种方式保存了模块的最新版本,据我所知,它相当于更熟悉(我认为更明确)@latest 语法。

【讨论】:

【参考方案2】:

根据the documentation,运行npm install package-name 应该安装注册表知道的最新版本。对于私有 npm 实例,这可能会有所不同,但似乎没有,因为它们在文档中也引用了私有存储库。

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

安装指定引用的包的版本 标签。如果该标记在该包的注册表数据中不存在, 那么这将失败。

例子:

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

发件人:https://docs.npmjs.com/cli/install,2016 年 11 月 23 日

【讨论】:

感谢您的回答!您是否阅读过我链接的问题和我发布的 cmets?我一离开手机就会将它们纳入主要问题:@latest 也不起作用:/ 是的,我做到了,尽管它们已关闭,但我真的不明白为什么它们应该关闭。他们看起来像是长期存在的问题,尤其是。鉴于你正在处理它。您的私有注册表是定制的还是配置错误的?【参考方案3】:

如果我理解您的问题,安装最新的软件包将是:

npm install <package_name>@latest --save

【讨论】:

谢谢!在我尝试过的所有命令中,这愚蠢地溜走了我的脑海! :P

以上是关于Private NPM:如何安装最新版本的模块?的主要内容,如果未能解决你的问题,请参考以下文章

如何编辑通过 npm 安装的节点模块?

如何升级nodejs 的npm

从特定版本的 Git 安装 npm

npm install 不在 GitHub 上安装最新版本

npm - 如何显示包的最新版本

sh 如何安装最新版本的npm