В моем проекте есть требование, при котором мне нужно опубликовать пакет в 2 реестрах.
В настоящее время, когда мне нужно опубликовать, я делаю следующие шаги.
npm config set registry https://registry.npmjs.org/
, а затем npm publish
.
npm config set registry http://npm-registry.myorg.com
, а затем npm publish
Это становится утомительным процессом для меня, так как есть много новых изменений, которые я публикую. Поэтому я подумал об уменьшении некоторой работы путем создания сценария в package.json
, который может делать это автоматически.
Это то, что я добавил.
{
scripts: {
"deploy:private": "npm config set registry http://npm-registry.myorg.com && npm publish",
"deploy:public": "npm config set registry https://registry.npmjs.org/ && npm publish"
}
}
Поэтому, когда я запускаю yarn deploy:private
, это дает мне ниже
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`
Как я могу решить эту проблему, пожалуйста, помогите?
---------- UPDATE -----------
После поиска в Google я нашел это https://docs.npmjs.com/using-private-packages-in-a-ci-cd-workflow
Исходя из этого, я установил свой токен как переменную env, и в проекте я создал локальный .npmrc с содержанием ниже
.npmrc file
//registry.npmjs.org/:_authToken=${NPM_TOKEN}
//npm-registry.tokopedia.com/:_authToken=${NPM_TOKEN_PRIVATE}
Но, тем не менее, я получаю сообщение об ошибке при попытке выполнить указанные выше команды.