Npm 如何在github企业回购中按分支名称安装回购?

Npm 如何在github企业回购中按分支名称安装回购?,npm,branch,git-branch,Npm,Branch,Git Branch,我想将repo安装到父repo并按分支名称指定。 我尝试了以下方法: 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 {theRepoWithBra

我想将repo安装到父repo并按分支名称指定。 我尝试了以下方法:

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
不支持从托管在私有域名上的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>
因此,这更像是一种URL格式与权限问题相结合。
关于分支,您的语法是正确的

以及:

如果我在HTTPS URL上预先添加git+,它就会工作(我运行接受基本身份验证的gitea)


另请参见

Hmmm…由于某些原因,安装时没有lib或dist目录。还包括node_模块。对于任何其他安装,都不包括node_模块,并且有lib和dist目录……你知道如何解决这个问题吗?@zero_cool不在我的脑子里。在一个单独的问题中探讨这个特殊情况会很有意思,强调这个不完整的模块与其他正确安装的模块之间的区别。我发现:)您向package.json中添加一个“prepare”脚本来处理构建。如果npm i存在,则prepare看起来会在npm i上运行。我们使用builder进行构建,因此对我有效的脚本就是在本地有效的脚本。我想在当地对你有用的东西都会在剧本中起作用。
npm install git+ssh://git@gitlab.mydomain.com:user/repo.git