Мне нужно запустить последнюю версию 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, если это необходимо.
Ответы:
set http_proxy
работал очень хорошо для меня, но мне приходилось вводить его каждый раз, когда я открывал командную строку. Поэтому мне пришлось объединить несколько ответов, и теперь мой постоянный.Моя последовательность пошла следующим образом:
C:\Users\YourUserName
.npmrc
proxy = http://domain\\username:password@ip:port
proxy = http://username:password@ip:port
npm
Другие имели дополнительный успех с помощью следующей дополнительной команды:
strict-ssl = false
* Вы должны иметь возможность использовать IP-адрес или URL-адрес прокси вместо «IP» выше.
Ваша строка прокси может быть немного подправлена, но это сделало так, что мне не нужно было добавлять это каждый раз.
ура
источник
proxy = http://ip:port/ https-proxy = http://ip:port/ registry = http://registry.npmjs.org/ strict-ssl = false
domain\\user:password@urltoproxy:port
однако, когда я запускаюnpm install
изменения параметра наdomain/user:password@urltoproxy:port
Так, как мне обойти это?-ssl=false registry=http://registry.npmjs.org/ proxy=http://domain\\username:password#@proxy.url:8080
затем, когда я получаю настройки из config сnpm config get proxy
:http://domain/username:password#@proxy.url:8080
обратите внимание, что экранированный обратный слеш '\\' меняется на прямой слеш '/'Может быть, установка переменной среды подойдет вам:
(В моем случае это решает проблему «подключить НЕИЗВЕСТНО», но я получаю совершенно другую ошибку «зависание сокета». Я также попытался установить переменную среды HTTPS_PROXY, но получил тот же результат.)
источник
set HTTP_PROXY=http://domain\user:pass@server.url:port
У меня была такая же проблема, и вот что я сделал, чтобы сделать эту работу:
C:\Users\YourUserName
.npmrc
И это запись будет читать:
Попробуйте команду еще
node cli.js install npm -gf
раз.источник
node config set proxy http://username:password@server:port
~/.npmrc
файла, подобного описанному выше, который говорит npm использоватьhttp://
реестр вместоhttps://
, а затем установить для моейhttp_proxy
переменной среды значениеhttp://myusername:mypassword@proxy.company.com:1234
После некоторых исследований я мог бы использовать это следующим образом:
Установите авторизационный прокси-сервер NTLM или другой прокси-сервер для NTLM, например Cntlm. Лично я предпочитаю сервер python, потому что я могу с ним повозиться, и производительность не является проблемой.
Настроить конфигурацию; обратите внимание, что в моем случае мне нужно было включить режимы LM и NT, и я подозреваю, что в настоящее время это нормальный случай.
Задайте переменные среды http_proxy и https_proxy, чтобы они указывали на ваш локальный прокси:
set http_proxy = "localhost: 5865"
set https_proxy = "localhost: 5865"
Теперь npm должен работать, конечно, он должен выполняться из оболочки, в которой определены вышеуказанные переменные окружения.
источник
Следующее сработало для меня.
В Windows 7:
Это должно создать файл с именем
.npmrc
вC:/users/<username>
папке.источник
Введите это в командной строке:
npm set proxy http://user:pass@ip:port
npm set https-proxy http://user:pass@ip:port
НЕ ЗАБЫВАЙТЕ ВКЛЮЧИТЬ HTTP: // перед своим именем пользователя. Это сработало для меня.
источник
Эта проблема была решена для меня после создания файла .npmrc, как описано выше, а затем после запуска команды adduser и следования инструкциям cmd.
Запустите следующую команду, чтобы увидеть, есть ли у вас авторизованное имя пользователя:
источник
Каждый из приведенных выше ответов требует, чтобы пользователь написал свой пароль в текстовом файле или в переменной окружения.
Лично мне не нравилось подобное решение из-за их небезопасного подхода. Поэтому я попытался написать приложение, которое вводит токен Kerberos текущего пользователя в обмены между клиентом (npm, bower, git) и прокси. Тем не менее, Active Directory является проприетарной реализацией Kerberos.
Я использую это программное обеспечение каждый день на хосте Windows 8.1. Вы можете найти код (golang) и двоичные файлы первого выпуска на https://github.com/nilleb/authentication-proxy .
источник
Все три вещи работали для меня в .npmrc
источник
По крайней мере, в Windows это работает для меня со следующей настройкой:
т. е. (1) использовать
%5C
вместо\
(как предложено в другом месте) и (2) использовать IP-адрес вместо имени локального компьютера для прокси-сервера.источник
Вы получите прокси-хост и порт от администратора вашего сервера или службы поддержки.
После этого настроить
Если в пароле есть специальный символ, попробуйте использовать% urlencode. Например: - фунт (хэш) должен быть заменен на% 23.
источник
Решение сработало для меня следующее:
Конфигурация npm http_proxy http: // имя пользователя : пароль @ хост / IP : порт
Конфигурация npm установленный прокси http: // имя пользователя : пароль @ хост / IP : порт
замените параметры на значения, в моем случае
имя пользователя : (пусто)
пароль : (пусто)
хост / IP : 192.36.36.110
порт : 8080
так что мои команды
Конфигурация npm http_proxy http: //: @ 192.36.36.110: 8080
Конфигурация npm для настройки прокси http: //: @ 192.36.36.110: 8080
источник
CNTLM не работает для меня. Я перепробовал все возможные комбинации. NPM выдавал ошибку аутентификации. Скрипач пришел на помощь и сэкономил мое время. Это легко установить и настроить. Установите для правила Fiddler значение «Автоматически проверено». В .npmrc установите эти
У меня это сработало :)
источник
То, что работало для меня, было следующим:
Мне не нужно было вводить имена пользователей или пароли, просто URL-адрес файла PAC.
источник