我有一个nodejs项目,它使用私有的git作为它的依赖项之一。它在package.json中定义如下:
"repo name": "git+https://{access_token}@github.com/{owner}/{repo name}.git#master"
我的工作流文件如下所示:
name: Tests
on: [push]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v3
with:
node-version: 16
- name: Install modules
run: npm ci
- name: Run tests
run: npm test
然而,npm ci
在npm ERR! remote: Repository not found.
上失败了
在我的本地机器和干净的ubuntu测试机器上使用npm ci
,在我测试它时工作得很好。在github操作时,我不知道是什么导致了这个问题。
我已经阅读了许多其他的形式,但找不到任何可行的解决方案,或适用于我的情况。如果你对导致这件事的原因有任何想法的话,我很乐意听到你的线索。
发布于 2022-07-27 05:50:39
来自actions/checkout
的auth令牌是持久化的。因此,当从GitHub获取npm依赖项时,可能会再次使用它,这是不起作用的。
您可以选择退出,方法是传递输入persist-credentials
,如下所示:
steps:
- uses: actions/checkout@v2
with:
persist-credentials: false
发布于 2022-07-25 07:01:38
您可以在签出步骤之后添加这操作,GitHub可以访问您的私人回购依赖项。但是您应该在package.json中更改您的包名,如下所示
"some_package": "git+ssh://git@github.com:<Org_Name>/<Repo_Name>.git#<Branch_name>"
确保将服务器的私钥作为秘密公钥添加到GitHub SSH密钥中。
https://stackoverflow.com/questions/73095929
复制相似问题