Ответ 1
Попробуйте изменить реестр на http-версию, вместо того, чтобы использовать https по умолчанию с помощью команды
npm config set registry http://registry.npmjs.org/
У меня есть Ubuntu VM, которая не может подключиться к сайтам с ssl, т.е. https. Он может успешно загрузить артефакты из Интернета, если URL-адрес начинается с http.
npm install будет загружать зависимости через https. Есть ли способ загрузить его через http?
Попробуйте изменить реестр на http-версию, вместо того, чтобы использовать https по умолчанию с помощью команды
npm config set registry http://registry.npmjs.org/
Как говорилось ранее, должно работать следующее:
npm config set registry http://registry.npmjs.org/
Теперь, чтобы добавить мое слово, вы также должны учитывать, что загрузка без ssl позволяет атаковать "человек-в-середине". Это только для того, чтобы добавить предупреждение людям, которые будут читать сообщение.
Если вы являетесь сольным разработчиком, не нужно загружать файлы в http
напрямую, но если бы я хотел атаковать компанию, использующую node.js, я бы рассмотрел возможность доставки вредоносного кода через npm... И выполнение таких атака без ssl будет намного проще.
После долгих проб и ошибок я обнаружил, что помимо всего, что было сказано выше, мне также нужно установить https-proxy
на значение http proxy
.
Таким образом, конечный.npmrc файл выглядит так:
proxy=http://username:[email protected]:port/
https-proxy=http://username:[email protected]:port/
strict-ssl=false
registry=http://registry.npmjs.org/
Обратите внимание, что прокси и https-прокси одинаковы!
См. Комментарии к этой теме для получения дополнительной информации:
https://github.com/npm/npm/issues/8034
Также я npm cache clean --force
после обновления npmrc для хорошей оценки, но я не уверен, что это требуется.
Надеюсь, это поможет.