我添加了一个像 myscope:registry=https://myprivatedomain.com/artifactory/api/npm/npm-myregistry-release/
这样的注册表给我的.npmrc
文件。
当我做 npm install @myscope/mypackage
它说 404 Not Found。当我 cat 调试日志时,它有错误 7 http fetch GET 404 https://myprivatedomain.com/artifactory/api/npm/npm-myregistry-release/@myscope%2fmypackage 1463ms
这很奇怪,因为如果我这样做 curl https://myprivateregistry.com/@myscope%2fmypackage
我看到了回应。知道我可能配置错了什么吗?
使用 -i
on curl 给了我你期望的所有适当的东西,比如 200:
HTTP/1.1 200 OK
Date: Fri, 20 Jul 2018 19:03:17 GMT
Content-Type: application/json
Transfer-Encoding: chunked
Connection: keep-alive
Server: Artifactory/5.10.3
X-Artifactory-Id: 3cfb3447e11ab4943a37f53d7a5dcd357274261d
X-Artifactory-Node-Id: art2
ETag: c3636860e64da7eda14f65ff25c1e8ad11266adc
我做了
npm search @myscope
什么也没找到。然后我更新了.npmrc
只是registry=https://myprivatedomain.com/artifactory/api/npm/npm-myregistry-release/
并进行了搜索。我看到包裹上来了。尽管现在搜索工作正常,但当我去安装时它仍然显示 404。我让我的同事使用相同的 npm 配置,它对他有用。我关闭了终端并重新启动(以防我使用 npm login 设置了一些不好的东西,作为健全性检查)但仍然存在问题。如果我这样做
npm logout
并尝试安装,我得到一个 401。然后我做了 npm login
再次回到E404
我也进入了我的
.gitconfig
并注释掉 insteadOf
像这样:#[url "https://"]
# insteadOf = git://
老实说,不确定为什么会在那里,但似乎值得一试就为此发表评论。
最佳答案
似乎在注册表端存在一些配置问题。把它写成占位符。希望让注册表所有者写下他们为纠正此问题所做的工作。非常奇怪,因为它并没有影响到每个人。
关于npm - 为什么当 curl 可以 200 时 npm 说 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51448868/