nvm за локальным прокси всегда возвращает N / A - PullRequest
0 голосов
/ 07 апреля 2020

У меня проблемы с настройкой узла за прокси ... Мой узел работает в Ubuntu как подсистема windows для linux. Но это не должно иметь значения.

Я установил nvm, настроил curl с сертификатами и информацией прокси через, но при вводе nvm ls-remote я всегда получаю N/A как результат. Упомянутый ниже несколько раз прокси - это локальный cntlm, работающий на хосте windows и работающий нормально (прокси работает под 127.0.0.1:3128).

Установка nvm была выполнена через ansible. Отсюда я следовал разделу Ansible: https://github.com/nvm-sh/nvm#ansible

Результат:

jimpanse@L00275277WP:~/win-home/work/workspace/localhost-setup/setup/with-ansible$ nvm ls-remote
            N/A
jimpanse@L00275277WP:~/win-home/work/workspace/localhost-setup/setup/with-ansible$

Вот информация, которую я обнаружил при копании в этой проблеме.

curl -I --compressed -v https://nodejs.org/dist/ 

печатает это

jimpanse@L00275277WP:/mnt/c/Entwicklung/programme/_tools/cmder$ curl -I --compressed -v https://nodejs.org/dist/
*   Trying 127.0.0.1...
* TCP_NODELAY set
* Connected to 127.0.0.1 (127.0.0.1) port 3128 (#0)
* allocate connect buffer!
* Establish HTTP proxy tunnel to nodejs.org:443
> CONNECT nodejs.org:443 HTTP/1.1
> Host: nodejs.org:443
> User-Agent: curl/7.58.0
> Proxy-Connection: Keep-Alive
>
< HTTP/1.1 200 Connection established
HTTP/1.1 200 Connection established
< Connection: close
Connection: close
<

* Proxy replied 200 to CONNECT request
* CONNECT phase completed!
* ALPN, offering h2
* ALPN, offering http/1.1
* error setting certificate verify locations:
  CAfile: '/usr/local/share/ca-certificates/provinzial-trusted-certs.pem'
  CApath: /etc/ssl/certs
* Closing connection 0
curl: (77) error setting certificate verify locations:
  CAfile: '/usr/local/share/ca-certificates/provinzial-trusted-certs.pem'
  CApath: /etc/ssl/certs

Я предполагаю, что curl настроен правильно, потому что curl www.google.de реагирует очень хорошо (за прокси, упомянутым в начале).

Для сравнения, здесь curl -l ... (тоже самое, что и выше) для google.de:

jimpanse@L00275277WP:~/win-home/work/workspace/localhost-setup/setup/with-ansible$ curl -I --compressed -v https://google.de
* Rebuilt URL to: https://google.de/
*   Trying 127.0.0.1...
* TCP_NODELAY set
* Connected to 127.0.0.1 (127.0.0.1) port 3128 (#0)
* allocate connect buffer!
* Establish HTTP proxy tunnel to google.de:443
> CONNECT google.de:443 HTTP/1.1
> Host: google.de:443
> User-Agent: curl/7.58.0
> Proxy-Connection: Keep-Alive
>
< HTTP/1.1 200 Connection established
HTTP/1.1 200 Connection established
< Connection: close
Connection: close
<

* Proxy replied 200 to CONNECT request
* CONNECT phase completed!
* ALPN, offering h2
* ALPN, offering http/1.1
* error setting certificate verify locations:
  CAfile: '/usr/local/share/ca-certificates/provinzial-trusted-certs.pem'
  CApath: /etc/ssl/certs
* Closing connection 0
curl: (77) error setting certificate verify locations:
  CAfile: '/usr/local/share/ca-certificates/provinzial-trusted-certs.pem'
  CApath: /etc/ssl/certs

nvm возвращает отладку:

jimpanse@L00275277WP:/mnt/c/Entwicklung/programme/_tools/cmder$ nvm debug
nvm --version: v0.35.3
$SHELL: /bin/bash
$SHLVL: 1
${HOME}: /home/jimpanse
${NVM_DIR}: '${HOME}/.nvm'
${PATH}: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/mnt/c/Entwicklung/programme/_tools/cmder/bin:/mnt/c/Entwicklung/programme/_tools/cmder/vendor/bin:/mnt/c/Entwicklung/programme/_tools/cmder/vendor/conemu-maximus5/ConEmu/Scripts:/mnt/c/Entwicklung/programme/_tools/cmder/vendor/conemu-maximus5:/mnt/c/Entwicklung/programme/_tools/cmder/vendor/conemu-maximus5/ConEmu:/mnt/c/ProgramData/DockerDesktop/version-bin:/mnt/c/Program Files/Docker/Docker/Resources/bin:/mnt/c/ProgramData/Oracle/Java/javapath:/mnt/c/Program Files (x86)/Common Files/Oracle/Java/javapath:/mnt/c/WINDOWS/system32:/mnt/c/WINDOWS:/mnt/c/WINDOWS/System32/Wbem:/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0/:/mnt/c/WINDOWS/System32/OpenSSH/:/mnt/c/Windows/SysWOW64/Empirum:/mnt/c/Program Files (x86)/Rational/common:/mnt/c/Program Files (x86)/Riverbed/Steelhead Mobile/:/mnt/c/Program Files (x86)/IEDriverServer:/mnt/c/Program Files/PuTTY/:/mnt/c/Program Files/ProPheT/isiscomm/w3/lib:/mnt/c/Entwicklung/programme/_tools/vagrant/bin:/mnt/c/Program Files (x86)/Plantronics/Spokes3G SDK/:/mnt/c/Program Files (x86)/Common Files/Siemens/System:/mnt/c/Users/pd03056a/AppData/Local/Microsoft/WindowsApps:/mnt/c/Entwicklung/programme/_tools/cmder/vendor/git-for-windows/cmd:/mnt/c/Entwicklung/programme/_tools/cmder/vendor/git-for-windows/mingw64/bin:/mnt/c/Entwicklung/programme/_tools/cmder/vendor/git-for-windows/usr/bin:/mnt/c/Entwicklung/programme/_tools/cmder:/snap/bin
$PREFIX: ''
${NPM_CONFIG_PREFIX}: ''
$NVM_NODEJS_ORG_MIRROR: ''
$NVM_IOJS_ORG_MIRROR: ''
shell version: 'GNU bash, version 4.4.20(1)-release (x86_64-pc-linux-gnu)'
uname -a: 'Linux 4.4.0-18362-Microsoft #476-Microsoft Fri Nov 01 16:53:00 PST 2019 x86_64 x86_64 x86_64 GNU/Linux'
OS version: Ubuntu 18.04.4 LTS
curl: /usr/bin/curl, curl 7.58.0 (x86_64-pc-linux-gnu) libcurl/7.58.0 OpenSSL/1.1.1 zlib/1.2.11 libidn2/2.0.4 libpsl/0.19.1 (+libidn2/2.0.4) nghttp2/1.30.0 librtmp/2.3
wget: /usr/bin/wget, GNU Wget 1.19.4 built on linux-gnu.
git: /usr/bin/git, git version 2.17.1
grep: /bin/grep (grep --color=auto), grep (GNU grep) 3.1
awk: /usr/bin/awk, GNU Awk 4.1.4, API: 1.1 (GNU MPFR 4.0.1, GNU MP 6.1.2)
sed: /bin/sed, sed (GNU sed) 4.4
cut: /usr/bin/cut, cut (GNU coreutils) 8.28
basename: /usr/bin/basename, basename (GNU coreutils) 8.28
rm: /bin/rm, rm (GNU coreutils) 8.28
mkdir: /bin/mkdir, mkdir (GNU coreutils) 8.28
xargs: /usr/bin/xargs, xargs (GNU findutils) 4.7.0-git
nvm current: none
which node:
which iojs:
which npm:
npm config get prefix:
Command 'npm' not found, but can be installed with:

sudo apt install npm
npm root -g:
Command 'npm' not found, but can be installed with:

sudo apt install npm

My .curlrc:

cacert = '/usr/local/share/ca-certificates/provinzial-trusted-certs.pem'
-x 127.0.0.1:3128

Часть моего .bashrc:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

alias ls='ls -a --color=auto'
alias ll='ls -alFh --color=auto'
alias cdhome='cd ~/win-home'
alias cddev='cd ~/win-dev'
export HTTP_PROXY='127.0.0.1:3128'
export HTTPS_PROXY='127.0.0.1:3128'

Может кто-нибудь дать мне подсказку? Это кажется последним препятствием для установки nodejs.

Спасибо и наилучшими пожеланиями. Себастьян

...