Почему 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

Кажется, в конце реестра была проблема с конфигурацией. Написание этого в качестве заполнителя. Надеясь заставить владельца реестра написать, что они сделали, чтобы исправить это. Очень странно, потому что это не повлияло на всех.