在npm中,我希望能够通过git+https
方式从私有GitHub存储库中安装软件包作为依赖项,而不必对实际的github_username:personal_access_token
进行硬编码,而是将它们插入依赖项中字符串作为(环境)变量。
所以不是
package.json
:
...
"dependencies": {
...
"my-private-github-repo": "git+https://<github_username>:<personal_access_token>@github.com/some/package.git",
...
}
我想要这样的东西:
package.json
:
...
"dependencies": {
...
"my-private-github-repo": "git+https://${github_username}:${personal_access_token}@github.com/some/package.git",
...
}
在将版本控制应用于 package.json
时,硬编码凭据是主要的禁止事项。
最好的方法是什么?
答案 0 :(得分:0)
.env
所在的同一目录级别创建 package.json
文件。PERSONAL_ACCESS_TOKEN=*******************************
文件中提及 .env
.env
添加到 .gitingore
列表中,这将防止在您将 git 提交到您的存储库时将密钥暴露给外界。package.json
中添加您的依赖项,如下所示,
"dependencies": {
...
"my-private-github-repo": "git+https://${ENV.PERSONAL_ACCESS_TOKEN}@github.com/USER/abcd-repo-3.4.0.git",
...
}
还有其他使用“DOTENV”npm 包的方法,但是当我们尝试解决“Github”包依赖性时,它无能为力。以上似乎是直接的解决方案。