我正在尝试使用 GitHub Actions 运行 Node.js 项目的构建。作为npm install
,我需要直接从私有 GitHub 存储库(而不是从 GPR!)安装 npm 模块。
In the package.json
I have:
"dependencies": {
...
"my-module": "github:<org>/<my-module>#master",
...
},
然而,运行时npm install
, I get:
npm 错误![电子邮件受保护] /cdn-cgi/l/email-protection:权限被拒绝(公钥)。
npm 错误!致命:无法从远程存储库读取。
该存储库是我自己组织的一部分,并且在本地(即从我的计算机)运行。我怎样才能让这个运行?
我已经尝试过设置NODE_AUTH_TOKEN
环境变量,但没有什么区别。尽管您经常发现此建议,但它似乎只针对 GPR。我想避免的是必须将令牌硬编码到package.json
文件。对此有什么想法吗?
这就是我如何从私有 GitHub 存储库安装依赖项。
可以按如下方式添加 package.json 中的依赖项。这github:
前缀是可选的。指定#branch
or #tag
也是可选的。
"dependencies": {
...
"myrepo": "username/myrepo#master",
"myotherrepo": "github:username/myotherrepo"
},
这是一个示例工作流程。PAT
is a repo
scoped 个人访问令牌 https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line。禁用持久凭据非常重要actions/checkout
,否则他们会覆盖你的PAT
。请注意,git config
更改在步骤之间持续存在,因此每个作业只需运行一次。
- uses: actions/checkout@v2
with:
persist-credentials: false
- uses: actions/setup-node@v1
with:
node-version: 12.x
- run: git config --global url."https://${{ secrets.PAT }}@github.com/".insteadOf ssh://[email protected] /cdn-cgi/l/email-protection/
- run: npm ci
...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)