繁体   English   中英

如何通过 github 操作访问私有 npm 包?

[英]how to access a private npm package via github actions?

我认为这是一个非常简单的问题。 尽管如此,我还是找到了许多不同的资源,建议沿着不同的路径走,安装不同的东西,总的来说,到目前为止,一切似乎都在这个地方。

就我而言,我在 npm 上制作了一个私有包。 我正在尝试做一个基本on push to main > run ci and build github 操作。 但是,我有自己的自定义私有npm 包,它是我在 npm 上创建的组织的一部分。 当管道触发时,我得到以下响应:

在此处输入图像描述

当前的node.js.yml文件如下所示:

name: Node.js CI

env:
  NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

on:
  push:
    branches: ['main']
  pull_request:
    branches: ['main']

jobs:
  build:
    runs-on: ubuntu-latest

    strategy:
      matrix:
        node-version: [14.x]
        # See supported Node.js release schedule at https://nodejs.org/en/about/releases/

    steps:
      - uses: actions/checkout@v3
      - name: Use Node.js ${{ matrix.node-version }}
        uses: actions/setup-node@v3
        with:
          node-version: ${{ matrix.node-version }}
          cache: 'npm'
      - run: echo "Running pipeline."
      - run: npm ci
      - run: npm run build --if-present
      - run: npm test

除了提供read-only密钥(根据 npm 文档)之外,其中还没有足够的信息,但我不知道这是否是朝着正确方向迈出的一步,或者我是否需要做一些完全不同的事情。 正如我所说,我对这个空间不太熟悉,任何帮助将不胜感激。

结果我需要添加一个.npmrc文件,其中 NPM_TOKEN 作为 github 机密。

//registry.npmjs.org/:_authToken=${NPM_TOKEN}

您必须使用正确的authToken创建一个.npmrc文件。

将您的authToken添加到您的 GitHub Environemnt Secrets(例如: NPM_TOKEN ),然后使用 bash 脚本创建文件,例如:

- name: "Create .npmrc"
  run: |
    echo "//npm.pkg.github.com/:_authToken=${{ secrets.NPM_TOKEN }}" > .npmrc
    echo "@raycast:registry=https://npm.pkg.github.com" >> .npmrc

然后你可以调用npm install

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM