繁体   English   中英

从私有存储库以不同的软件包名称安装npm

[英]npm install from private repository as a different package name

我需要从私有github存储库安装模块。 为此,我将运行npm install git+https://[API-KEY]:x-oauth-basic@github.com/<name>/<repo>.git#<branch> 我的package.json文件如下所示:

"dependencies: {
    ...
    "private-repo-name": "git+https://[API-KEY]:x-oauth-basic@github.com/<name>/<repo>.git#<branch>",
    ...
}

在这种情况下, "private-repo-name"对应于私有仓库的package.jsonname字段,即:

"name": "private-repo-name"

我的问题是:如何在npm install过程中更改软件包名称而不更改私有仓库的name字段?

注意:对于公共npm模块,由于npm模块不共享npm注册表中的命名空间,这将不是问题,但对于npm中托管的私有开发的模块,模块名称有可能与当前或将来的名称冲突npm注册表中的公共npm模块。

可以通过将系统HTTP_PROXYHTTPS_PROXY环境变量设置为您的私有存储库来完成。 之后,它将适用于npm install类的命令。 但是它将使用回购中安装的名称安装软件包。

事实证明,您只需运行npm install new-name@git+https://[API-KEY]:x-oauth-basic@github.com/<name>/<repo>.git#<branch>

如何使用npm安装软件包的多个版本

私有存储库中的dependencies字段和name字段中的键之间没有耦合。

"dependencies: {
    ...
    "new-name": "git+https://[API-KEY]:x-oauth-basic@github.com/<name>/<repo>.git#<branch>",
    ...
}

此后, npm update new-name类的命令将按预期工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM