2011-10-17 13:25:58 +0000 2011-10-17 13:25:58 +0000
30
30

Как установить NPM за прокси аутентификации в Windows?

Мне нужно запустить последнюю версию Node и NPM под Windows. Я установил Node 0.5.8 и скачал исходники NPM с GitHub. Шаги, которые я выполнил для установки NPM, были перечислены на сайте GitHub, но у меня возникли проблемы при выполнении следующей команды:

node cli.js install npm -gf

, но она не работает со следующим сообщением об ошибке:

Error: connect UNKNOWN
at errnoException (net_uv.js:566:11)
at Object.afterConnect [as oncomplete] (net_uv.js:557:18)

System Windows_NT 5.1.2600
command "...\Node\bin\node.exe" "...\npm\cli.js" "install" "npm" "-gf"
cwd ...\npm
node -v v0.5.8
npm -v 1.0.94
code UNKNOWN

Я думаю, что это проблема, потому что мне нужна аутентификация на моем прокси, чтобы подключиться к интернету. Но я не нашел способа сказать установщику использовать мои учетные данные для входа. Есть ли возможность предоставить IP прокси и информацию для входа в npm установку, возможно, с помощью аргументов командной строки?

я могу предоставить полный логин (но, похоже, у меня нет более подходящей информации), используя pastebin, если нужно.

Ответы (14)

39
39
39
2012-12-03 20:05:07 +0000

set http_proxy работал для меня очень хорошо, но мне приходилось вводить его каждый раз, когда я открывал командную строку. Так что мне приходилось комбинировать несколько ответов, и теперь мой ответ стал постоянным.

Моя последовательность была следующей:

  • Переходим к C:\Users\YourUserName
  • Создаем файл с именем .npmrc
  • Внутри этого файла вводим следующий тип (если вы находитесь в домене AD):

proxy = http://domain\username:password@ip:port

  • Или используем его, если вы НЕ находитесь в домене AD:

proxy = http://username:password@ip:port

  • Сохраните файл
  • Откройте интерпретатор команд и попробуйте использовать npm

Другие получили дополнительный успех со следующей дополнительной командой:

strict-ssl = false

*Вы должны быть в состоянии использовать IP адрес или URL к прокси вместо “IP”, указанного выше.

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

Ура!

10
10
10
2011-10-19 17:19:05 +0000

Может быть, установка переменной окружения сработает для вас:

set HTTP_PROXY=http://user:pass@server.url:port

(В моем случае это решает проблему “connect UNKNOWN”, но я получаю совершенно другую ошибку “socket hang up”. Я также пытался установить переменную окружения HTTPS_PROXY, но получил тот же результат).

8
8
8
2011-11-16 16:41:09 +0000

У меня был такой же вопрос, и вот что я сделал, чтобы это сработало:

  • Иди: C:\Users\YourUserName
  • Создайте файл с именем .npmrc
  • И его запись будет выглядеть так:

  • Попробуйте команду node cli.js install npm -gf еще раз.

4
4
4
2012-03-12 09:56:43 +0000

После некоторых исследований я мог бы использовать его таким образом:

  1. Установите прокси-сервер NTLM Authorization Proxy Server или другой прокси-сервер для NTLM, например Cntlm. Лично я предпочитаю python сервер, потому что с ним я могу работать, и производительность не является проблемой.

  2. Настройте конфигурацию; обратите внимание, что в моем случае я должен был включить и LM, и NT режим, и я бы заподозрил, что в настоящее время это нормальный случай.

  3. Установите переменные окружения http_proxy и https_proxy, чтобы указать на локальный прокси:

  4. npm теперь должен работать, конечно же, он должен выполняться из оболочки, где определены вышеперечисленные переменные окружения.

3
3
3
2013-09-04 10:46:04 +0000

Введите это в командной строке:

npm set proxy http://user:pass@ip:port

npm set https-proxy http://user:pass@ip:port

DONT FORGET TO INCLUDE HTTP:// перед именем пользователя. Это сработало.

3
3
3
2013-06-13 19:12:07 +0000

На меня сработало следующее.

В Windows 7:

npm config set proxy xxhttp://username:password@proxyhost:port#

Это должно создать файл с именем .npmrc в папке C:/users/<username>.

3
3
3
2016-05-03 20:27:58 +0000

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

Лично мне не понравилось такое решение, из-за их небезопасного подхода. Поэтому я попытался написать приложение, которое впрыскивает токен Kerberos текущего пользователя в обмен между клиентом (npm, bower, git) и прокси. Тем не менее, Active Directory - это всего лишь проприетарная реализация Kerberos.

я использую это программное обеспечение каждый день, на хосте Windows 8.1. Вы можете найти код (golang) и исполняемые файлы первого релиза на https://github.com/nilleb/authentication-proxy .

2
2
2
2012-05-02 03:41:48 +0000

Эта проблема была решена после создания файла .npmrc, как описано выше, а затем выполнения команды adduser и последующих командных подсказок.

npm adduser

Запустите следующую запятую, чтобы проверить, есть ли у вас авторизованное имя пользователя:

npm whoami
1
1
1
2015-07-07 21:58:10 +0000

Вы получите прокси-хост и порт от администратора или службы поддержки вашего сервера.

После этого установите

npm config set http_proxy http://username:password@proxyofmycomp.com:itsport
npm config set proxy http://username:password@proxyofmycomp.com:itsport

Если в пароле есть специальные символы, попробуйте использовать urlencode %. Eg:- фунт(хэш) шульд будет заменен на %23.

1
1
1
2015-06-18 09:54:36 +0000

По крайней мере, в Windows это работает со следующими настройками:

proxy=http://_domain_%5C_username_:_password_@ **_proxy\_ip_** :_port_

, т.е. (1) используйте %5C вместо `По крайней мере, в Windows это работает со следующими настройками:

proxy=http://_domain_%5C_username_:_password_@ **_proxy\_ip_** :_port_

, т.е. (1) используйте %5C вместо (как предлагается в другом месте) и (2) используйте IP-адрес вместо имени локальной машины для прокси-сервера.

1
1
1
2013-09-27 06:46:50 +0000

Все три вещи работали на меня в .npmrc

proxy = http://unam:pwd@host:port
https-proxy = http://unam:pwd@host:port
registry = http://registry.npmjs.org
0
0
0
2016-02-22 06:19:01 +0000

Решение, которое сработало для меня, следующее:

npm конфигурационный набор http_proxy http://username:password@host/IP:port

npm конфигурационный набор прокси http://username:password@host/IP:port

& заменить параметры на значения, в моем случае

** имя пользователя** : (пусто)

пароль : (пустой)

хост/IP : 192.36.36.110

порт : 8080

так Мои команды

npm конфигурационный набор http_proxy http://

npm конфигурационный набор прокси http://

0
0
0
2018-01-08 22:13:37 +0000

Что сработало со мной, так это следующее:

registry=http://registry.npmjs.org
proxy=http://<url.pac>
https-proxy=http://<url.pac>
http-proxy=http://<url.pac>
strict-ssl=false

Мне не нужно было вводить ни имени пользователя, ни пароля, просто url файла PAC.

0
0
0
2016-04-29 05:14:16 +0000

ЦНТЛМ не работал на меня. Я перепробовал все возможные комбинации. NPM выдавал ошибку аутентификации. Скрипач пришел на помощь и сэкономил мое время. Его легко установить и настроить. Установите правило Fiddler на Automatically Authenticated.In .npmrc, установите эти

registry=http://registry.npmjs.org
proxy=http://127.0.0.1:8888
https-proxy=http://127.0.0.1:8888
http-proxy=http://127.0.0.1:8888
strict-ssl=false

Это работало на меня :)

Похожие вопросы

12
7
4
3
6