尝试从命令行登录时 NPM 给出 400
NPM giving 400 when try to login from command line
我正在使用我公司的私有 npm 服务器。我无法从命令行登录,出现以下错误
npm verb login before first PUT {
npm verb login _id: 'org.couchdb.user:<username>',
npm verb login name: '<username>',
npm verb login password: 'XXXXX',
npm verb login type: 'user',
npm verb login roles: [],
npm verb login date: '2021-12-21T14:28:38.709Z'
npm verb login }
npm http fetch PUT 400
https://<company>/repository/npm/-/user/org.couchdb.user:<username> 40ms
npm verb adduser before first PUT {
npm verb adduser _id: 'org.couchdb.user:<username>',
npm verb adduser name: '<username>',
npm verb adduser password: 'XXXXX',
npm verb adduser email: '<email>',
npm verb adduser type: 'user',
npm verb adduser roles: [],
npm verb adduser date: '2021-12-21T14:28:38.753Z'
npm verb adduser }
npm http fetch PUT 400
https://<company>/repository/npm/-/user/org.couchdb.user:<username> 36ms
npm verb stack Error: 400 Bad Request - PUT
https://<company>/repository/npm/-/user/org.couchdb.user:<username>
npm verb stack at /usr/lib/node_modules/npm/node_modules/npm-registry-fetch/check-
response.js:117:15
npm verb stack at processTicksAndRejections (internal/process/task_queues.js:97:5)
npm verb statusCode 400
npm verb pkgid org.couchdb.user:<my username>
npm verb cwd /home/<my user>/Downloads
npm verb Linux 4.14.231-173.360.amzn2.x86_64
npm verb argv "/usr/bin/node" "/usr/bin/npm" "login" "--verbose" "--
registry=https://<my company>/repository/npm/" "--verbose"
npm verb node v12.22.8
npm verb npm v6.14.15
npm ERR! code E400
npm ERR! 400 Bad Request - PUT
https://<company>/repository/npm/-/user/org.couchdb.user:dwsollenberger
npm verb exit [ 1, true ]
npm timing npm Completed in 16102ms
我已经试过删除我的 .npmrc 文件,尽管我随后用设置我的 public 和私有证书的新文件替换了它们。
不确定它是否相关,但当我登录该网站时,它最初会让我登录,但当我查看我的帐户详细信息一段时间后才最终弄清楚我是谁时,它抱怨说“找不到用户”。
我也尝试过 运行 通过邮递员发送相同的邮件,但出现 500 错误。我知道我的邮递员没有正确设置密码,因为我不知道 npm 如何对其进行哈希处理,所以大概这就是 500 错误的原因。
如果有人能提供帮助,我真的很想能够登录到我的 NPM :)
原来我需要设置我的 CA 以及我的其他证书。所以我运行
npm config set cafile=<path to ca file>
虽然我的 CA 包含自签名证书,但随后出现错误。我用以下方法解决了这个问题:
npm config set strict-ssl false
顺便说一下,我也在使用 yarn,尽管 yarn 应该是从 .npmrc 文件中读取的,但我不得不单独关闭 strict-ssl 以使其正常工作
yarn config set strict-ssl false
我正在使用我公司的私有 npm 服务器。我无法从命令行登录,出现以下错误
npm verb login before first PUT {
npm verb login _id: 'org.couchdb.user:<username>',
npm verb login name: '<username>',
npm verb login password: 'XXXXX',
npm verb login type: 'user',
npm verb login roles: [],
npm verb login date: '2021-12-21T14:28:38.709Z'
npm verb login }
npm http fetch PUT 400
https://<company>/repository/npm/-/user/org.couchdb.user:<username> 40ms
npm verb adduser before first PUT {
npm verb adduser _id: 'org.couchdb.user:<username>',
npm verb adduser name: '<username>',
npm verb adduser password: 'XXXXX',
npm verb adduser email: '<email>',
npm verb adduser type: 'user',
npm verb adduser roles: [],
npm verb adduser date: '2021-12-21T14:28:38.753Z'
npm verb adduser }
npm http fetch PUT 400
https://<company>/repository/npm/-/user/org.couchdb.user:<username> 36ms
npm verb stack Error: 400 Bad Request - PUT
https://<company>/repository/npm/-/user/org.couchdb.user:<username>
npm verb stack at /usr/lib/node_modules/npm/node_modules/npm-registry-fetch/check-
response.js:117:15
npm verb stack at processTicksAndRejections (internal/process/task_queues.js:97:5)
npm verb statusCode 400
npm verb pkgid org.couchdb.user:<my username>
npm verb cwd /home/<my user>/Downloads
npm verb Linux 4.14.231-173.360.amzn2.x86_64
npm verb argv "/usr/bin/node" "/usr/bin/npm" "login" "--verbose" "--
registry=https://<my company>/repository/npm/" "--verbose"
npm verb node v12.22.8
npm verb npm v6.14.15
npm ERR! code E400
npm ERR! 400 Bad Request - PUT
https://<company>/repository/npm/-/user/org.couchdb.user:dwsollenberger
npm verb exit [ 1, true ]
npm timing npm Completed in 16102ms
我已经试过删除我的 .npmrc 文件,尽管我随后用设置我的 public 和私有证书的新文件替换了它们。
不确定它是否相关,但当我登录该网站时,它最初会让我登录,但当我查看我的帐户详细信息一段时间后才最终弄清楚我是谁时,它抱怨说“找不到用户”。
我也尝试过 运行 通过邮递员发送相同的邮件,但出现 500 错误。我知道我的邮递员没有正确设置密码,因为我不知道 npm 如何对其进行哈希处理,所以大概这就是 500 错误的原因。
如果有人能提供帮助,我真的很想能够登录到我的 NPM :)
原来我需要设置我的 CA 以及我的其他证书。所以我运行
npm config set cafile=<path to ca file>
虽然我的 CA 包含自签名证书,但随后出现错误。我用以下方法解决了这个问题:
npm config set strict-ssl false
顺便说一下,我也在使用 yarn,尽管 yarn 应该是从 .npmrc 文件中读取的,但我不得不单独关闭 strict-ssl 以使其正常工作
yarn config set strict-ssl false