Есть ли способ заставить npm install (команду) работать за прокси? - PullRequest
236 голосов
/ 26 сентября 2011

Прочитайте о прокси-переменной в файле .npmrc, но она не работает. Попытка избежать ручной загрузки всех требуемых пакетов и установки.

Ответы [ 27 ]

3 голосов
/ 13 декабря 2017

На этот вопрос было много ответов выше, но ни один из них не помог мне. Все они упоминаются, чтобы добавить префикс http://. Я тоже добавил это. Все не удалось.

Наконец-то работает после того, как я случайно удалил префикс http://. Конечный конфиг выглядит так:

npm config set registry http://registry.npmjs.org/
npm config set http-proxy ip:port
npm config set https-proxy ip:port
npm config set proxy ip:port
npm set strict-ssl false

Я не знаю логики этого, но это сработало. Если ни один из приведенных выше ответов не работает для вас, возможно, вы можете попробовать этот способ. Надеюсь, что это полезно.

3 голосов
/ 30 июня 2016

в системе Windows

Попробуйте удалить настройки прокси и реестра (если они уже установлены) и установить переменные среды в командной строке с помощью

SET HTTP_PROXY=http://username:password@domain:port
SET HTTPS_PROXY=http://username:password@domain:port

тогда попробуйте запустить npm install. Таким образом, вы не будете устанавливать прокси в .npmrc, но для этого сеанса он будет работать.

3 голосов
/ 12 июня 2017

В моем случае я забыл установить прокси-адреса "http://" в моих файлах конфигурации (их можно найти в C: \ Users \ [USERNAME] \ .npmrc)". Поэтому вместо

proxy=http://[IPADDRESS]:[PORTNUMBER]
https-proxy=http://[IPADDRESS]:[PORTNUMBER]

У меня было

proxy=[IPADDRESS]:[PORTNUMBER]
https-proxy=[IPADDRESS]:[PORTNUMBER]

Что, конечно, не работало, но сообщения об ошибках тоже не очень помогли ...

3 голосов
/ 09 мая 2017

Многие приложения (например, npm) могут использовать настройку прокси из переменных среды пользователя.

Вы можете просто добавить в свою среду следующие переменные HTTP_PROXY и HTTPS_PROXY , которые будут иметь одинаковое значение для каждой

http://user:password@proxyAddress:proxyPort

Например, если у вас Windows, вы можете добавить прокси следующим образом:

How it looks on Windows

2 голосов
/ 05 ноября 2018

Вот шаги, которые я выполнил (Windows):

  1. Редактировать следующий файл C:\Users\<WIN_USERNAME>\.npmrc
  2. Экспортируйте сертификат в вашу файловую систему со следующего адреса: https://registry.npmjs.org

  3. Перейдите в расположение экспортированного сертификата и введите следующую команду:

    npm config set cafile npm_certificate.cer

  4. Добавить следующие изменения в файл: registry=https://registry.npmjs.org/ strict-ssl=false https-proxy=http://[proxy_user]:[proxy_password]@[proxy_ip]:[proxy_port]/ cafile=npm_certificate.cer

Теперь вы должны быть готовы к работе!

2 голосов
/ 04 октября 2016

Моя проблема сводилась к глупой ошибке с моей стороны. Так как однажды я быстро поместил свои прокси в файл Windows * .bat (http_proxy, https_proxy и ftp_proxy), я забыл экранировать специальные символы для домена \ user (% 5C) в кодированном URL-адресе и пароль, имеющий знак вопроса '?' (% 3F). То есть, получив кодированную команду, не забывайте экранировать «%» в команде bat-файла.

Я изменил

set http_proxy=http://domain%5Cuser:password%3F@myproxy:8080

до

set http_proxy=http://domain%%5Cuser:password%%3F@myproxy:8080

Может быть, это крайний случай, но, надеюсь, это кому-нибудь поможет.

1 голос
/ 20 июня 2016

когда я даю без префикса http / http в настройках прокси, npm не работал, даже когда хост и порт прокси были правильными значениями. Работало только после добавления префикса протокола.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...