我想从一个特定分支的私有存储库安装一个npm包。我知道这是可能的,如果你显式地指定包路径中的令牌,但我不想在package.json
中保留任何访问令牌,所以我想知道是否有办法做到这一点:
"package-name": "git+https://<github_token>:x-oauth-basic@github.com/<user>/<repo>.git"
,<github_token>
不是直接在代码中指定,而是从环境(.npmrc或NPM_TOKEN env变量)中读取。
这可能吗?
所以我认为我可以在安装步骤之前在管道中执行替换操作,如下所示:
sed -i "s/ssh://git@github.com/git+https://${NPM_TOKEN}:x-oauth-basic@github.com/g" package.json
在包中。我将写入:
"package-name": "ssh://git@github.com/<user>/<repo>",