Как мне опубликовать приватный пакет npm с gitlab ci? - PullRequest
0 голосов
/ 13 февраля 2019

Я хочу опубликовать частный пакет npm с Gitlab CI.

Я создал токен авторизации для своего пользователя npm и установил его в качестве переменной NPM_TOKEN в моих настройках Gitlab CI.

Затем задание создает файл .npmrc с реестром и токеном авторизации.

- npm run build && npm run build:es6
- echo '//registry.npmjs.org/:_authToken=${NPM_TOKEN}'>.npmrc
- npm publish

Задание не выполняется с этим сообщением:

npm ERR! code ENEEDAUTH
npm ERR! need auth auth required for publishing
npm ERR! need auth You need to authorize this machine using `npm adduser`

Возможно ли опубликоватьтолько с токеном аутентификации?

1 Ответ

0 голосов
/ 13 февраля 2019

Как сказал @Amityo, вместо ручного редактирования файла npmrc,

npm config set //registry.npmjs.org/:_authToken ${NPM_TOKEN}

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

Если выпо-прежнему получаю ошибку аутентификации и уверены, что токен правильный, проверьте URL вашего реестра.Вы можете запустить

npm publish --verbose

, чьи выходные данные будут содержать такие строки, как

npm verb getPublishConfig { registry: 'https://.......' }
npm verb mapToRegistry no registry URL found in name for scope @boxine
npm verb publish registryBase https://.......

Если вы публикуете на npmjs.org, URL (....... выше) должен быть https://registry.npmjs.org/.

Если этот URL-адрес реестра не подходит, найдите в вашем файле npmrc другой.Также убедитесь, что вы не перезаписали реестр в файле package.json!Вы можете искать в этом файле publishConfig.

...