【问题标题】:Git SSH URL with semver range as npm dependency具有 semver 范围的 Git SSH URL 作为 npm 依赖项
【发布时间】:2018-05-04 01:17:38
【问题描述】:

同时关注examples from the official npm docs

git+ssh://git@github.com:npm/npm.git#v1.0.27 git+ssh://git@github.com:npm/npm#semver:^5.0 git+https://isaacs@github.com/npm/npm.git git://github.com/npm/npm.git#v1.0.27

我尝试使用 semver 范围从私有 GitLab 存储库中 npm install 依赖项,如下所示:

git+ssh://git@gitlab.example.com:group/project.git#semver:^1.2.3

但我收到以下错误:

npm 错误!代码 1 npm 错误!命令失败:/usr/bin/git checkout semver:^1.2.3 npm 错误!错误:pathspec 'semver:^1.2.3' 与 git 已知的任何文件都不匹配。 npm 错误! npm 错误!可以在以下位置找到此运行的完整日志: npm 错误! /path/to/DATE-debug.log

即使指定分支或特定标签也能正常工作:

git+ssh://git@gitlab.example.com:group/project.git#branch_1_2 git+ssh://git@gitlab.example.com:group/project.git#1.2.3

版本信息

  • 操作系统:ubuntu 18.04
  • 节点-v:v10.0.0
  • npm -v:v5.6.0

【问题讨论】:

    标签: node.js git npm gitlab


    【解决方案1】:

    这是一个错误

    替换 URL 的 hostpath 部分之间的冒号:

    git+ssh://git@gitlab.example.com/group/project.git#semver:^1.2.3 此处不要使用冒号 ^

    信息

    根据official npm docs,您应该能够使用冒号或斜杠:

    <protocol>://[<user>[:<password>]@]<hostname>[:<port>][:][/]<path>[#<commit-ish> | #semver:<semver>]
    

    但 GitLab [un] 为您提供了带有冒号的链接以进行复制/粘贴。

    正如npm github issue中提到的:

    似乎早在 5.1.x 就出现了这种情况。使用npm i -g npm@~5.0.0时有效

    正如引用的npm github pull request 中所述,该错误现已修复,但从 v5.6.0 开始还不是 npm 的一部分

    【讨论】:

      猜你喜欢
      • 2019-03-16
      • 1970-01-01
      • 2017-10-01
      • 1970-01-01
      • 2019-05-11
      • 1970-01-01
      • 2016-05-28
      • 2013-08-15
      • 1970-01-01
      相关资源
      最近更新 更多