我正在尝试通过注册表及其相关性来安装Ionic App。
我尝试通过npm i --loglevel verbose
实现这一目标,而我的~/.npmrc
看起来像这样:
//nexus.OMMITED.com/repository/:_auth=OMMITED
registry=http://nexus.OMMITED.com/repository/npm-all
always-auth=true
观看命令运行时,似乎运行得很好,直到遇到其他非注册依赖项,突然我遇到了授权错误。
以下是命令的粘贴内容:https://hasteb.in/hejigopo.sql
在这种情况下,如您所见,它在@angular/http@6.1.2
上失败,但是此变量在随机@angular
依赖项或@ionic-native
之间变化
到目前为止我已经尝试过...
always-auth
更改为true
或false
_authToken
代替_auth
npm login --registry=http://nexus.OMMITED.com/repository/npm-all
同时包含--auth=TOKEN_OMITTED
和--authToken=TOKEN_OMITTED
,其中npm告诉我npm WARN invalid config auth-type="TOKEN_OMITTED"
并提示输入用户名,但是我的用户名是一个电子邮件地址,它引发以下错误:{{ 1}}只是无限地提示您输入另一个用户名。答案 0 :(得分:6)
我不知道如何或为什么,但是某种程度上现在可以工作,如果我在命令中指定完整注册表,就像这样:
npm --registry=http://nexus.OMITTED.com/repository/npm-all/ install
我的~/.npmrc
看起来像这样:
//nexus.OMITTED.com/repository/:_authToken=OMITTED
registry=http://nexus.OMITTED.com/repository/npm-all/
_auth=OMITTED
email=bob@OMITTED.nl
这一切对我来说都没有道理,但我很高兴它能为改变做准备。
如果最终有人对此写出正确的答案,说明它为什么起作用,它如何起作用以及为什么正常方式不起作用,那么我将很乐意接受它作为答案并奖励赏金。
em>答案 1 :(得分:0)
您想在Nexus Repo 3中使用npm登录:
并确保在Nexus UI的“安全性/领域”下启用了npm承载令牌领域。
也就是说,错误是403,而不是401。这意味着您由于权限而被拒绝。我建议检查联系request.log并确保403来自Nexus。它们可能来自您的http代理服务器。如果它们来自Nexus,则意味着用户已通过身份验证,但在nexus中没有从该存储库下载的权限。