如何仅使用 IPv6 在 ubuntu 服务器中安装节点包
How to install node packages in ubuntu server with IPv6 only
我正在尝试在只有 IPv6 地址 space 可用的 Ubuntu 服务器上安装打字稿。
我收到如下错误。有帮助吗?
:/home/dev/.nvm# npm install --global typescript
npm ERR! code ENOTFOUND
npm ERR! errno ENOTFOUND
npm ERR! network request to https://registry.npmjs.org/typescript failed, reason: getaddrinfo ENOTFOUND registry.npmjs.org registry.npmjs.org:443
npm ERR! network This is a problem related to network connectivity.
npm ERR! network In most cases you are behind a proxy or have bad network settings.
npm ERR! network
npm ERR! network If you are behind a proxy, please make sure that the
npm ERR! network 'proxy' config is set properly. See: 'npm help config'
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2017-11-01T19_15_39_294Z-debug.log
很多包甚至 github 都会出现此网络连接错误。我通过在 bitbucket 中设置代码库以稍微不同的方式安装了 nvm。
我尝试安装 npm 和 n 以使用 n 设置打字稿。那失败了,我开始使用 nvm 作为替代方案。 PFB 尝试安装 n 时的日志。
:~# sudo npm install -g n
npm ERR! Linux 4.4.0-98-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "-g" "n"
npm ERR! node v4.2.6
npm ERR! npm v3.5.2
npm ERR! code ENETUNREACH
npm ERR! errno ENETUNREACH
npm ERR! syscall connect
npm ERR! connect ENETUNREACH ::ffff:151.101.208.162:80 - Local (:::0)
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR! <https://github.com/npm/npm/issues>
npm ERR! Please include the following file with any support request:
npm ERR! /root/npm-debug.log
我只需要一些方法来安装它,但运气不好!我坚信这是 IPv6 问题并正在寻找解决方法。
顺便说一句,我的 ubuuntu 服务器是 16.04.3 LTS。我已经在 Ubuntu 16.10 和 17.04 版本的 IPv4 服务器 运行 上成功安装了它,在生产环境中,我被锁定了!
似乎问题可能出在代理设置上,请尝试使用 http 而不是 https,ipv6 问题似乎也在较新版本的 npm 中得到了解决。
npm config set registry http://registry.npmjs.org/
npm cache clean
更新
似乎应该在 8.5.0 中修复的问题仍然存在,因此对于 IPV6 只有网络 npm 仍然无法工作,即使 Node 现在正在传递必要的标志,所以在它被修复之前你会必须找到解决方法。
我在更改注册表后开始工作。可能是我在服务器上遇到的网络问题或仅 IPv6 问题。无论如何,注册表中的更改非常有效。
sudo npm --registry http://registry.node-modules.io/ install n -g
毕竟下面的 link 指导我找到了答案。
Node-modules.io
希望这对以后的人有所帮助!
感谢@Kalana Demel 帮助我找到答案。
另一个也适用于 yarn 的解决方法是将解析的 ip6s 添加到 /etc/hosts :
2606:4700::6810:1723 registry.yarnpkg.com
2606:4700::6810:1723 registry.npmjs.org
2606:4700::6810:ab63 yarnpkg.com
您可以通过 nslookup registry.yarnpkg.com
, nslookup …
.
获取 ip6s
我正在尝试在只有 IPv6 地址 space 可用的 Ubuntu 服务器上安装打字稿。
我收到如下错误。有帮助吗?
:/home/dev/.nvm# npm install --global typescript
npm ERR! code ENOTFOUND
npm ERR! errno ENOTFOUND
npm ERR! network request to https://registry.npmjs.org/typescript failed, reason: getaddrinfo ENOTFOUND registry.npmjs.org registry.npmjs.org:443
npm ERR! network This is a problem related to network connectivity.
npm ERR! network In most cases you are behind a proxy or have bad network settings.
npm ERR! network
npm ERR! network If you are behind a proxy, please make sure that the
npm ERR! network 'proxy' config is set properly. See: 'npm help config'
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2017-11-01T19_15_39_294Z-debug.log
很多包甚至 github 都会出现此网络连接错误。我通过在 bitbucket 中设置代码库以稍微不同的方式安装了 nvm。
我尝试安装 npm 和 n 以使用 n 设置打字稿。那失败了,我开始使用 nvm 作为替代方案。 PFB 尝试安装 n 时的日志。
:~# sudo npm install -g n
npm ERR! Linux 4.4.0-98-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "-g" "n"
npm ERR! node v4.2.6
npm ERR! npm v3.5.2
npm ERR! code ENETUNREACH
npm ERR! errno ENETUNREACH
npm ERR! syscall connect
npm ERR! connect ENETUNREACH ::ffff:151.101.208.162:80 - Local (:::0)
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR! <https://github.com/npm/npm/issues>
npm ERR! Please include the following file with any support request:
npm ERR! /root/npm-debug.log
我只需要一些方法来安装它,但运气不好!我坚信这是 IPv6 问题并正在寻找解决方法。
顺便说一句,我的 ubuuntu 服务器是 16.04.3 LTS。我已经在 Ubuntu 16.10 和 17.04 版本的 IPv4 服务器 运行 上成功安装了它,在生产环境中,我被锁定了!
似乎问题可能出在代理设置上,请尝试使用 http 而不是 https,ipv6 问题似乎也在较新版本的 npm 中得到了解决。
npm config set registry http://registry.npmjs.org/
npm cache clean
更新
似乎应该在 8.5.0 中修复的问题仍然存在,因此对于 IPV6 只有网络 npm 仍然无法工作,即使 Node 现在正在传递必要的标志,所以在它被修复之前你会必须找到解决方法。
我在更改注册表后开始工作。可能是我在服务器上遇到的网络问题或仅 IPv6 问题。无论如何,注册表中的更改非常有效。
sudo npm --registry http://registry.node-modules.io/ install n -g
毕竟下面的 link 指导我找到了答案。 Node-modules.io
希望这对以后的人有所帮助! 感谢@Kalana Demel 帮助我找到答案。
另一个也适用于 yarn 的解决方法是将解析的 ip6s 添加到 /etc/hosts :
2606:4700::6810:1723 registry.yarnpkg.com
2606:4700::6810:1723 registry.npmjs.org
2606:4700::6810:ab63 yarnpkg.com
您可以通过 nslookup registry.yarnpkg.com
, nslookup …
.