2016-09-22 146 views
1

对于我所有的东西,我使用公共npm注册表,但是我目前正在使用的一个客户端刚刚安装了sinopia,并且希望将其用于在站点上托管的私有模块。使用多个npm注册表和用户帐户

这是好的,但我用我的笔记本电脑在不同的地方,我真的不希望永久配合自己这个注册表,所以我们设置每个我们这里使用的默认情况下使用自定义注册表回购:

"publishConfig": { 
    "scope": "@somecompany", 
    "registry": "http://sinopia-box:4873/" 
    } 

这将绑定我正在使用该注册表的回购是伟大的,但我需要验证自己与它,所以我需要在那里设置一个用户,并且所有后续发布此回购将需要使用此创建用户帐户,但是我只想在我使用该存储库时使用该帐户。

那么有没有办法能够保持正常npm注册表作为默认与我的npm用户帐户(它已经保存在本地),但不知何故只是注册该注册表的用户帐户,所以当它通过发布到它通过npm publish与该定制publishConfig它只是知道注册表并自动使用正确的用户帐户。

由于我不想处于每天早上必须进来的位置并将注册表设置为该帐户并使用其他帐户,然后回家并将其重置为公共npm注册表,我只想要让npm知道该注册表的用户,然后忘记它,那么无论如何有我的蛋糕,并在这里吃?

回答

1

原来所有你需要做的是:

npm login --registry=http://myreg.mycompany.com:8080 [email protected]

这告诉NPM您要使用该注册登录,所以这样你可以根据需要对不同的注册表添加尽可能多的用户。

(您不需要的范围,但因为大多数公司将使用示波器其值得注意)

+0

这是一次和完成的命令? –

+1

是的,你在命令行上执行过一次,并将它注册到你的npm配置中,所以你的注册表保持不变,但是如果你要使用其他注册表(即通过显式的package.json配置更改),它将使用这已知的登录。你可以通过执行上述操作来验证这一点,然后执行'npm config获取注册表'并且它不会改变 – Grofit