1

我写了一个库,我想测试人们是否可以从 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
4

1 回答 1

0

尝试这个:

npm publish --registry http://127.0.0.1:5080

https://docs.npmjs.com/misc/registry#can-i-run-my-own-private-registry

于 2018-04-07T17:59:34.107 回答