【问题标题】:NPM install resulting in 401 Unauthorized for private repoNPM 安装导致 401 Unauthorized for private repo
【发布时间】:2018-07-27 04:09:34
【问题描述】:

我在 package.json 的依赖项中有以下行:

"log": "https://git.mydomain.com/myproject/myrepo/repository/archive.tar.gz?ref=0.1.0",

我得到以下信息:

km@Karls-MBP ~/dev/vertica (km/ref) $ npm install
npm ERR! code E401
npm ERR! 404 401 Unauthorized: log@https://git.mydomain.com/myproject/myrepo/repository/archive.tar.gz?ref=0.5.0

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/km/.npm/_logs/2018-02-16T08_49_38_669Y-debug.log

我不知道问题是 GitLab(repo 所在的位置)还是 NPM。

  • 节点 v8.9.4
  • NPM v5.6.0

【问题讨论】:

  • 压缩包是否公开可用?如果没有,您需要在包 URL 中提供身份验证策略。你见过this问题/答案吗?此外,这似乎不太可能是 NPM 问题,但以防万一:尝试 npm logout && npm login,确保 .npmrc 中没有设置过时的 $NPM_TOKEN 环境变量或 _authToken(查看您的主目录和项目目录)。
  • 我必须按照以下步骤修复错误:docs.microsoft.com/en-us/azure/devops/artifacts/npm/…

标签: node.js npm gitlab


【解决方案1】:

从主目录中删除 .npmrc,它应该可以工作。我做了同样的事情,它对我有用。

【讨论】:

  • 这对我有用。在我的例子中,打印 401 是“npm install -g @vue/cli”。这个解决方案的目的是什么?
  • 如果您需要 .npmrc 文件来对 vpn 上的服务进行身份验证怎么办?
【解决方案2】:

我的用户目录 .npmrc 文件有一个过时的 authtoken,如下所示。

//registry.npmjs.org/:_authToken=3615fa68-123a-4d72-b99a-772b5b1edc48

删除此行后,npm 安装工作正常,不再引发身份验证错误。

【讨论】:

    【解决方案3】:

    您需要将用户添加到 npm 注册

    >> npm whoami [ it will return not authorized ]
    

    要添加新用户,请按照以下步骤操作:-

    >> npm adduser  (then enter your name and complex password and your email)
    
    >> npm whoami   (return your registered name)
    

    【讨论】:

      【解决方案4】:

      我在使用--prefer-offline时得到了这个

      - npm ci --cache .npm --prefer-offline --unsafe-perm --no-optional
      

      删除该选项修复了它。

      【讨论】:

        【解决方案5】:

        我注意到公共 github 存储库的此错误。删除条目always-auth = true 并能够继续。

        【讨论】:

          猜你喜欢
          • 2019-06-07
          • 2022-10-20
          • 1970-01-01
          • 1970-01-01
          • 2015-01-04
          • 2013-02-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多