TL;DR: Sinopia does not support npm adduser,but has its own user
management. Also npm needs a valid user created before npm publish
through npm adduser,which fails because the internal Sinopia server
throws an error at the unsupported command….
>在npmjs.org中创建一个全局用户,然后在Sinopia中创建一个具有相同密码的用户?
>还是有一个更简单的方式来告诉npm只使用一个固定的用户/通行证。
>甚至更好的提示我不知何故用户名和密码?
>别的东西
概要:
Sinopia不依赖于Couch.DB,并且将会从主机中提取它不具备的软件包(默认是全局npmjs.org)。
Sinopia完美启动,并配置为侦听所有接口。它为服务包提供了奇迹
npm install
我甚至配置〜/ .npmrc总是指向内部注册表。
所有项目的package.json文件都设置为
.... "publishConfig" : { "registry" : "http://internal-npm:4873" },....
另外,我设法通过在js-yaml的帮助下操作config.yaml来添加用户在sinopia
crypto.createHash('sha1').update('theBigPassword').digest('hex')
现在我被困在了
npm --registry=http://internal-npm:4873 --ca=null publish
经过漫长的等待,我得到:
npm ERR! need auth auth and email required for publishing npm ERR! need auth You need to authorize this machine using `npm adduser` npm ERR! System Linux 3.11.0-18-generic npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "--registry=http://internal-npm:4873" "--ca=null" "publish" npm ERR! cwd /home/ciprian/workspace/netop-npm npm ERR! node -v v0.10.15 npm ERR! npm -v 1.2.18 npm ERR! code ENEEDAUTH npm ERR! npm ERR! Additional logging details can be found in: npm ERR! /home/ciprian/workspace/netop-npm/npm-debug.log npm ERR! not ok code 0
86 error need auth auth and email required for publishing 86 error need auth You need to authorize this machine using `npm adduser` 87 error System Linux 3.11.0-18-generic 88 error command "/usr/bin/nodejs" "/usr/bin/npm" "--registry=http://internal-npm:4873" "--ca=null" "publish" 89 error cwd /home/ciprian/workspace/netop-npm 90 error node -v v0.10.15 91 error npm -v 1.2.18 92 error code ENEEDAUTH 93 verbose exit [ 1,true ]
现在,鸡蛋问题是,Sinopia不支持npm adduser,而是像上面提到的那样有自己的用户管理。另外,npm需要通过npm adduser创建的有效用户,因为内部Sinopia服务器在不受支持的命令中引发错误,因此失败。
解决方法
“npm adduser”有两件事情:
>它在远程服务器上创建一个新用户,或者验证它是否存在
>它添加_auth到你的.npmrc
如果用户不存在,Sinopia将会抱怨,但如果有的话,会高兴地报告成功。
那么你要做的就是这样做:
>添加用户/传递给config.yaml(请参阅josh的答案)并重新启动sinopia服务器
>运行npm adduser –registry http:// internal-npm:4873 /
是的,“adduser”命令令人困惑,因为它实际上不会添加新的用户。它只会验证用户是否存在于配置中。
如果需要,可以使用“npm登录”命令。即使它完全相同的事情也不那么困惑。