NPM注册表安装在非注册表依赖项上失败

Van*_*tas 10 javascript nexus npm ionic-framework angular

我正在尝试通过注册表安装我的Ionic App及其依赖项.我尝试实现这一点,npm i --loglevel verbose而我~/.npmrc看起来像这样:

//nexus.OMMITED.com/repository/:_auth=OMMITED
registry=http://nexus.OMMITED.com/repository/npm-all
always-auth=true
Run Code Online (Sandbox Code Playgroud)

在观看命令运行时,它看起来很好,直到我们遇到其他非注册表依赖项,突然我遇到了授权错误.

这是命令的粘贴:https://hasteb.in/hejigopo.sql

正如你所看到的那样@angular/http@6.1.2在这个实例中失败了,但这个变量在随机@angular依赖之间或者@ionic-native

到目前为止我尝试过的...

  1. 更改always-authtruefalse
  2. 以超级用户身份运行
  3. 尝试不同的令牌
  4. 使用_authToken而不是_auth
  5. Google,很多,但事实证明我的问题非常独特.
  6. 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",并提示输入用户名,我的用户名不过是引发此错误的电子邮件地址:npm WARN Name may not contain non-url-safe chars只保留无限提示另一个用户名.

Van*_*tas 6

我不知道如何或为什么,但如果我在命令likeso中指定完整的注册表,它现在以某种方式工作:

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
Run Code Online (Sandbox Code Playgroud)

这对我来说都没有任何意义,但我很高兴它适用于改变.

如果有人最终写出一个正确的答案,为什么这有效,这是如何工作的,以及为什么正常的方式没有,那么我很乐意接受它作为答案并奖励赏金.