Node.js 读取package.json中的外部凭据
我需要将我的公共npm模块作为git依赖项,并在许多模块中使用它。 我正在尝试使用访问令牌在git中进行授权。位我不想将令牌存储在package.json中(至少,如果它发生变化,很难在少数模块中对其进行更改) 我可以这样做吗: package.jsonNode.js 读取package.json中的外部凭据,node.js,git,ssh,npm,Node.js,Git,Ssh,Npm,我需要将我的公共npm模块作为git依赖项,并在许多模块中使用它。 我正在尝试使用访问令牌在git中进行授权。位我不想将令牌存储在package.json中(至少,如果它发生变化,很难在少数模块中对其进行更改) 我可以这样做吗: package.json ... "scripts": { "preinstall": "read-credentials.sh" } ... "dependencies": { ... "my-module": "git+https://$
...
"scripts": {
"preinstall": "read-credentials.sh"
}
...
"dependencies": {
...
"my-module": "git+https://$$$token-from-variable$$$:x-oauth-basic@some-repo-url"
...
}
我知道关于私有npm模块的选项,或者为git访问生成ssh密钥,但这并不适合我。问题的重点是找出是否有办法从一些预安装脚本(在那里我可以访问访问令牌)中设置变量,并在package.json中使用它们 您可以在npm上使用。它的成本为7美元/月,并且完全是为您这里的用例创建的
如果您出于某种原因不想这样做,那么您可以依靠它来解决依赖关系。例如,如果您使用git+ssh://git@SERVER:USER/MODULE.git
作为依赖项,然后npm将使用git使用的默认凭据(反过来使用ssh使用的凭据)尝试使用git获取它。您甚至可以更改GIT_SSH
环境变量,以完全控制SSH会话
有关更多选项,请参阅。您可以在npm上使用。它的成本为7美元/月,并且完全是为您这里的用例创建的
如果您出于某种原因不想这样做,那么您可以依靠它来解决依赖关系。例如,如果您使用git+ssh://git@SERVER:USER/MODULE.git
作为依赖项,然后npm将使用git使用的默认凭据(反过来使用ssh使用的凭据)尝试使用git获取它。您甚至可以更改GIT_SSH
环境变量,以完全控制SSH会话
有关更多选项,请参见。据我所知,无法创建此类变量。 我的问题解决方案:
据我所知,没有办法创建这样的变量。 我的问题解决方案:
对不起,我更新了问题。私有模块、环境变量或ssh密钥对我来说不是好的解决方案。不过还是要谢谢你。这个答案是在添加到问题之前写的:“我知道关于使用私有npm模块的选项,或者为git访问生成ssh密钥,但这不适合我。”对不起,我更新了问题。私有模块、环境变量或ssh密钥对我来说不是好的解决方案。不过还是要谢谢你。这个答案是在添加到问题之前写的:“我知道关于使用私有npm模块的选项,或者为git访问生成ssh密钥,但这不适合我。”