Почему npm говорит 404, когда завиток 200
Я добавил реестр, такой как 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
на 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
чтобы просто .npmrc
в registry=https://myprivatedomain.com/artifactory/api/npm/npm-myregistry-release/
и registry=https://myprivatedomain.com/artifactory/api/npm/npm-myregistry-release/
поиск. Я увидел, как упал пакет. Несмотря на то, что поиск работает сейчас, он все еще говорит о 404, когда я иду на установку.
У меня был мой коллега, использующий ту же конфигурацию npm, и это сработало для него. Я закрыл свои терминалы и перезапустил (в случае, если я каким-то образом установил что-то плохое, используя учетную запись npm, как проверку работоспособности) и все еще есть проблема. Если я сделаю npm logout
и попробую установить, я получу 401. Затем я снова npm login
и вернулся к E404
Я также зашел в мой .gitconfig
и прокомментировал insteadOf
этого:
#[url "https://"]
# insteadOf = git://
Честно говоря, не знаю, почему это было там, но казалось, что это стоит того, чтобы прокомментировать это.
Ответы
Ответ 1
Из официальной документации Artifactory правильный URL должен быть:
npm config set registry http://<ARTIFACTORY_SERVER_DOMAIN>:8081/artifactory/api/npm/npm-repo/
В вашем случае: myprivateregistry.com/api/npm/npm-repo
: уточните у своего коллеги (у кого нет вопросов), что его/ее .npmrc
ссылки.
Из OP артефакт в конце реестра был испорчен.
Одно из объяснений этого не сказалось на другом коллеге, было сказано, что у коллеги это было в его/ее местном кэше npm.
Ответ 2
Кажется, в конце реестра была проблема с конфигурацией. Написание этого в качестве заполнителя. Надеясь заставить владельца реестра написать, что они сделали, чтобы исправить это. Очень странно, потому что это не повлияло на всех.