Публикация пакета Node.js в пакеты GitHub — ошибка ENEEDAUTH

Привет всем, я пытаюсь опубликовать свой пакет NPM в пакетах GitHub, используя этот 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}}

Но я получаю эту ошибку, которую я не совсем понимаю, поскольку это шаблон, созданный самим GitHub.

Здесь Вы можете найти мой package.json.

Я также попробовал добавить файл .npmrc, но мой рабочий процесс по-прежнему не работает.

Я очень надеюсь, что вы, ребята, сможете помочь мне с этой проблемой. (Кстати, мой рабочий процесс публикации в NPM работает нормально, но я просто не могу заставить его работать с пакетами GitHub)

Редактировать: Моя учетная запись NPM также связана с GitHub.

Аутентификация не работает. Вы настроили токен авторизации?

jabaa 23.02.2024 18:35

@jabaa, я думал, токен аутентификации будет сгенерирован автоматически, как указано docs.github.com/en/actions/security-guides/…

RootK1d 23.02.2024 21:59

Возможно, проблема связана со средой, которую вы используете, возможно, ответ здесь github.com/npm/npm/issues/3623

AndGoEdu 24.02.2024 00:00
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
3
249
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

IIRC npm publish завершается с ошибкой, если версия пакета уже есть в реестре. Действие JS-DevTools/npm-publish может обрабатывать такие случаи, не выдавая ошибок:

- name: Push to Github
  uses: JS-DevTools/npm-publish@v3
  with:
    package: 'path/to/package.json'
    registry: 'https://npm.pkg.github.com'
    token: ${{ github.token }}
    access: 'public'
    provenance: true

Таким образом, вы можете контролировать, в каких реестрах должен быть опубликован ваш пакет. Я использую это во всех своих рабочих процессах

Отлично, это тоже должно сработать. Проголосовал за.

VonC 26.02.2024 09:30

Другие вопросы по теме