从全局configurationNPM到令牌registry(@organisation)
我想全局设置一个特定范围的NPMregistry,以便与特定的令牌一起使用。
我知道我可以使用:
$ npm login --scope=@organisation
我也可以写一个~/.npmrc
:
//registry.npmjs.org/:_authToken=XXXX
但是我想要的是两种方法的组合:在将registryURL分配给我的作用域时使用该标记。
我试过了 :
npm config set @organisation:registry https://registry.npmjs.org/:_authToken=XXXX
但是当运行一个NPM命令时(例如npm install @organisation/my-package
)。 我得到以下错误:
npm ERR! Darwin 15.6.0 npm ERR! argv "/Users/me/.nvm/versions/node/v6.2.2/bin/node" "/Users/me/.nvm/versions/node/v6.2.2/bin/npm" "install" "@organisation/my-package" npm ERR! node v6.2.2 npm ERR! npm v3.10.3 npm ERR! code E403 npm ERR! you do not have permission to publish ":_authToken=XXXX". Are you logged in as the correct user? : :_authToken=XXXX
有解决scheme吗? (我需要使用一个令牌,没有envvariables)。
PS: https : //github.com/npm/npm/issues/7995#issuecomment-175915766,但它不工作…
根据官方文档,您应该能够在login时将范围与registry相关联 。 这是你想要的吗?
你尝试了以下吗?
npm login --registry=https://reg.example.com --scope=@myco
如果您不想login,而是想明确指定标记 ,则以下内容应该可用:
npm config set @myco:registry https://reg.example.com npm config set '//reg.example.com/:_authToken' 'xxxxxxxx'
请注意,registryurl必须标准化才能正常工作,即不应包含scheme,并且必须以斜杠结尾。