如何使用package.json中的脚本发布到npm?

时间:2019-01-11 09:58:46

标签: npm

在我的项目中,我有一个需要将软件包发布到2个注册表的要求。

当前,每当我需要发布时,我都会执行以下步骤。

  1. npm config set registry https://registry.npmjs.org/,然后npm publish
  2. 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 -----------

谷歌搜索后,我发现了这个https://docs.npmjs.com/using-private-packages-in-a-ci-cd-workflow

基于此,我将令牌设置为env变量,并在项目中创建了一个本地.npmrc,内容如下:

.npmrc文件

//registry.npmjs.org/:_authToken=${NPM_TOKEN}
//npm-registry.tokopedia.com/:_authToken=${NPM_TOKEN_PRIVATE}

但是,当我尝试运行上述命令时,仍然出现错误。

0 个答案:

没有答案