我在myscope:registry=https://myprivatedomain.com/artifactory/api/npm/npm-myregistry-release/
文件中添加了.npmrc
之类的注册表。
当我执行npm install @myscope/mypackage
时,它显示404 Not Found。当我列出调试日志时,它会显示错误7 http fetch GET 404 https://myprivatedomain.com/artifactory/api/npm/npm-myregistry-release/@myscope%2fmypackage 1463ms
,这很奇怪,因为如果执行curl https://myprivateregistry.com/@myscope%2fmypackage
,则会看到响应。知道我可能配置有误吗?
在卷曲上使用-i
可为您提供所有您期望的合适的东西,例如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://
老实说,不确定为什么会出现在其中,但似乎值得为此一枪而已。
答案 0 :(得分:0)
在official Artifactory documentation中,正确的URL应该是:
npm config set registry http://<ARTIFACTORY_SERVER_DOMAIN>:8081/artifactory/api/npm/npm-repo/
在您的情况下:myprivateregistry.com/api/npm/npm-repo
:与您的同事(没有问题)核对他/她的.npmrc
引用了什么。
在OP中,注册表端的工件存在缺陷。
一种解释说,不不会影响另一位同事,据说该同事将其保存在他/她的本地npm缓存中。
答案 1 :(得分:0)
注册表的末尾似乎存在一些配置问题。写一个占位符。希望让注册表所有者写出他们所做的纠正工作。非常奇怪,因为它没有影响到所有人。