【问题标题】:Private NPM: How can the latest version of a module be installed?Private NPM:如何安装最新版本的模块?
【发布时间】: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 infoaliases,它们同样不起作用

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

【问题讨论】:

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

标签: javascript node.js npm repository semantic-versioning


【解决方案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
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-09
    • 2021-04-29
    • 1970-01-01
    • 1970-01-01
    • 2020-04-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多