npm - 如何在 github 企业存储库中按分支名称安装存储库?
问题描述
我想将存储库安装到父存储库并按分支名称指定。我尝试了以下方法:
npm install username/repo#branchName --save
npm install username/repo@branchName --save
npm install username/repo#tag --save
npm install username/repo@tag --save
我收到一条错误消息:
Could not install from {theRepoWithBranch} as it does not contain a package.json file.
repo 肯定包含一个 package.json 文件。鉴于我正在使用企业 npm 注册表,我想知道这是否是权限问题。
解决方案
npm/npm 问题 19788确实提到:
目前,
npm
不支持从托管在私有域名上的 git 服务安装模块。
这包括自定义域上的 Github for Enterprise 以及 gitlab、gitea、gogs、bitbucket 和许多其他实例,基本上任何托管在自定义域名上的东西。
随着评论:
因此,显然您直接通过 http(s):// URL 引用安装,但仅供参考,我们的 GitLab Enterprise 实例允许我们使用稍微不同的格式进行安装。
我们启用了 2FA,因此需要使用 SSH。
从文档。npm install <git-host>:<git-user>/<repo-name> npm install <git repo url>
我们能够像这样实际安装我们的存储库:
npm install git+ssh://git@gitlab.mydomain.com:user/repo.git
所以这更像是一种结合了权限问题的 URL 格式。
关于分支,如此处所示,您的语法是正确的。
和:
如果我在 HTTPS URL 上添加 git+ 它可以工作(我运行接受基本身份验证的 gitea)
推荐阅读
- c# - 发送大型 JSON 文件 (>1 MB) 时,HttpClient.SendAsync 抛出 System.Net.Http.HttpRequestException
- java - 如何从 X、Y 坐标中检索舞台?
- android - 来自 cURL 请求的 AsyncTask 中的 HTTP 请求
- javascript - 如何使输入成为视图的默认输入字段?
- linux - 没有可用的包 kernel-devel-3.10.0-957.el7.x86_64
- javascript - 在 VS Code 中反应建议
- c# - 如何使文本文件的内容在通过本地状态文件夹内的记事本打开时看起来加密且不可编辑
- php - 共享访问:如何修复“fread():长度参数必须大于 0”?
- laravel - 如何在 Laravel Eloquent 中加入 3 个以上的表
- spring - org.springframework.beans.factory.BeanCreationException:创建类路径资源中定义的名称为“securityInterceptor”的bean时出错