Hello everyone I am trying to publish my NPM package to GitHub packages using this yaml:


    # This workflow will run tests using node and then publish a package to GitHub Packages when a release is created
    # For more information see: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages

    name: Node.js Package (GHP)

    on:
      release:
        types: [created]

    jobs:
      build:
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v3
          - uses: actions/setup-node@v3
            with:
              node-version: 18
          - run: npm ci
          - run: npm test

      publish-gpr:
        needs: build
        runs-on: ubuntu-latest
        permissions:
          contents: read
          packages: write
        steps:
          - uses: actions/checkout@v3
          - uses: actions/setup-node@v3
            with:
              node-version: 18
              registry-url: https://npm.pkg.github.com/
          - run: npm ci
          - run: npm publish
            env:
              NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}

但我得到了这个error,我不是很理解,因为这是GitHub自己的模板.

100 You can find my package.json.

我也试着添加了.npmrc file个,但我的工作流程仍然不起作用.

我真的希望你们能帮我解决这个问题. (顺便说一句,我的发布到NPM工作流程运行得很好,但我似乎无法让它与GitHub包一起工作)

Edit:个 我的NPM账户也链接到了GitHub.

推荐答案

ENEEEDAUTHtry 将NPM包发布到GitHub包时出错,它通常指示身份验证问题(如npm/cli issue 6184所示).

@Vighnesh153我今天遇到了这个问题,结果发现NPM通常不会通过NODE_AUTH_TOKENNPM_TOKEN这样的环境变量接受auth令牌,除非您在.npmrc文件中显式指定这一点,setup-node操作可以为您创建该文件

如果这不适用,则您的GitHub操作工作流的其余部分似乎已正确设置为发布到GitHub包,并将NODE_AUTH_TOKEN环境变量正确分配给secrets.GITHUB_TOKEN.

.npmrc(Roo7K1d:registry=https://npm.pkg.github.com)(在您删除它之前)试图将您的包范围与GitHub的NPM注册表相关联.但是,为了让它正常工作,您需要确保package.json中的作用域与GitHub上的用户名或组织名称完全匹配,并且在.npmrc中被正确引用.对于GitHub包,正确的格式通常包括作用域,如:

@Roo7K1d:registry=https://npm.pkg.github.com/

并且您的package.json名称字段也应该包括范围:

{
  "name": "@Roo7K1d/wow-calendar.js",
  ...
  "publishConfig": {
    "registry": "https://npm.pkg.github.com/"
  }
}

这对GitHub Packages很重要,因为它使用作用域将包路由到您的帐户.您的publishConfig部分似乎设置正确,但请确保您的包名中包含了范围.

仔细判断您的GitHub令牌是否具有发布包的适当权限.

Javascript相关问答推荐

在JavaScript中,是否有一种方法可以创建自定义thable,在等待某些代码后自动触发它?

为什么从liveWire info js代码传递数组我出现错误?

微软Edge Select 间隙鼠标退出问题

网页自检测外部元素无法加载

角色 map 集/spritebook动画,用户输入不停止在键上相位器3

如何在Javascript中的控制台上以一行形式打印循环的结果

有没有可能使滑动img动画以更快的速度连续?

使用原型判断对象是否为类的实例

当id匹配时对属性值求和并使用JavaScript返回结果

WP Bootstrap NavWaker:下拉菜单一次打开所有下拉菜单

使用Nuxt Apollo在Piniastore 中获取产品细节

使用NextJS+MongoDB+Prisma ORM获取无效请求正文,无法发布错误

在JS中动态创建对象,并将其追加到HTML表中

是否可以将异步调用与useState(UnctionName)一起使用

如何使本地html页面在重新加载时保持当前可隐藏部分的打开状态?

如何在尚未创建的鼠标悬停事件上访问和着色div?

使用可配置项目创建网格

为什么我的SoupRequest";被重置为初始值,以及如何修复它?

扩散运算符未按预期工作,引发语法错误

如何使用fltter_js将对象作为参数传递给javascrip?