我写了一个库,我想测试人们是否可以从 npm 导入它并按预期使用它。为此,我设置了一个本地 NPM 存储库,例如
npm install -g local-npm
npm set registry http://127.0.0.1:5080
local-npm
这在我的计算机上启动了一个本地存储库。现在我去了我的图书馆项目,我做到了
npm publish
但我得到一个错误
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`
我做了
npm adduser
但我得到一个错误
npm adduser
Username: foo
Password:
Email: (this IS public) foo@bar.com
npm ERR! code EAUTHIP
npm ERR! Unable to authenticate, need: Basic
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/.npm/_logs/2018-04-07T17_46_18_631Z-debug.log
对于这个本地回购。我不想要任何用户等,因为这仅用于测试。我希望能够在没有任何凭据或用户的情况下直接发布到此。那可能吗?
另外,另一个问题是,现在我已经设置了一个本地 npm 并且我npm i react -D
在我的项目中做了一个安装会失败,因为这个存储库不包含 react。那么有没有可能当有人这样做时npm i react -D
它仍然会转到原始 NPM 存储库,而当我这样做时npm i foo-lib -D
它才会作为后备进入我的存储库,因为原始 npm 存储库不包含我的 foo-lib 它只发布到这个本地存储库。
编辑:我试过npm publish --registry http://127.0.0.1:5800
了,我得到了以下错误
0/bin/npm" "publish" "--registry" "http://127.0.0.1:5080"
23 verbose node v9.5.0
24 verbose npm v5.7.1
25 error code ENEEDAUTH
26 error need auth auth required for publishing
27 error need auth You need to authorize this machine using `npm adduser`
28 verbose exit [ 1, true ]
所以它不会让我创建用户,也不会让我在没有用户的情况下发布。
Edit2:: 我也尝试过相反的方法。
local-npm
在服务器启动时首先运行
从另一个窗口做
npm set registry http://127.0.0.1:5080
npm publish --registry http://127.0.0.1:5080
npm publish
一切都导致
~/IdeaProjects/t > npm publish --registry http://127.0.0.1:5080
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`
npm ERR! A complete log of this run can be found in:
npm ERR! /Users//.npm/_logs/2018-04-07T18_32_53_815Z-debug.log
~/IdeaProjects/t > npm adduser
Username: foo
Password:
Email: (this IS public) foo@bar.com
npm ERR! code EAUTHIP
npm ERR! Unable to authenticate, need: Basic
npm ERR! A complete log of this run can be found in:
npm ERR! /Users//.npm/_logs/2018-04-07T18_33_25_737Z-debug.log
文件内容
19 verbose argv "/Users/a/.nvm/versions/node/v9.5.0/bin/node" "/Users/a/.nvm/versions/node/v9.5.0/bin/npm" "adduser"
20 verbose node v9.5.0
21 verbose npm v5.7.1
22 error code EAUTHIP
23 error Unable to authenticate, need: Basic