使用 GitHub Actions 从私有 GitHub 存储库安装 npm 模块

2024-01-02

我正在尝试使用 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(使用前将#替换为@)

使用 GitHub Actions 从私有 GitHub 存储库安装 npm 模块 的相关文章

随机推荐