Установите модуль npm из частного репозитория GitHub с помощью действий GitHub. - PullRequest
3 голосов
/ 08 января 2020

Я пытаюсь запустить сборку для проекта Node.js с помощью GitHub Actions. Как часть npm install, мне нужно установить модуль npm непосредственно из частного репозитория GitHub (не из GPR!).

В package.json у меня есть:

"dependencies": {
  ...
  "my-module": "github:<org>/<my-module>#master",
  ...
},

Однако при запуске npm install я получаю:

npm ОШИБКА! git@github.com: В доступе отказано (публичный ключ). npm ОШИБКА! Неустранимый: Не удалось прочитать из удаленного репозитория.

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

Я уже пытался установить переменную окружения NODE_AUTH_TOKEN, но это не имело значения. Хотя это предложение встречается довольно часто, похоже, оно касается только георадара. Чего я хотел бы избежать, так это жестко закодировать токен в файл package.json. Есть мысли по этому поводу?

Ответы [ 2 ]

0 голосов
/ 09 января 2020

Из-за ошибки и способа включения зависимости (в пакет. json) кажется, что вы не передаете учетные данные аутентификации (токен, s sh.

См. Эту документацию для деталей на Git URL-адреса как зависимости

Это можно сделать через https и oauth или s sh.

https и oauth : создайте токен доступа с областью репо, а затем используйте этот синтаксис :

"package-name": "git+https://<github_token>:x-oauth-basic@github.com/<user>/<repo>.git"

или

s sh: настройте s sh и используйте следующий синтаксис:

"package-name": "git+ssh://git@github.com:<user>/<repo>.git"
(note the use of colon instead of slash before user)
0 голосов
/ 08 января 2020

Вам следует отредактировать файл .npmrc. Вы также можете использовать npm config

npm config set @myco:registry http://reg.example.com

Для получения дополнительной информации см. Следующую ветку: Можно ли настроить несколько реестров в одном файле npmr c

...