Node.js 如何在仅使用IPv6的ubuntu服务器中安装节点包

Node.js 如何在仅使用IPv6的ubuntu服务器中安装节点包,node.js,npm,ubuntu-16.04,nvm,Node.js,Npm,Ubuntu 16.04,Nvm,我正试图在Ubuntu服务器上安装typescript,那里只有IPv6地址空间可用 我得到的错误如下。有什么帮助吗 :/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

我正试图在Ubuntu服务器上安装typescript,那里只有IPv6地址空间可用

我得到的错误如下。有什么帮助吗

:/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

我试着用n安装npm和n来设置typescript。这失败了,我开始使用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
:~#sudo npm安装-g n
npm错误!Linux 4.4.0-98-generic
npm错误!argv“/usr/bin/nodejs”“/usr/bin/npm”“安装”“-g”“n”
npm错误!节点v4.2.6
npm错误!npm v3.5.2
npm错误!代码未读
npm错误!错误:没有错误
npm错误!系统调用连接
npm错误!connect-ENETUNREACH::ffff:151.101.208.162:80-本地(::0)
npm错误!
npm错误!如果需要帮助,您可以在以下位置报告此错误:
npm错误!
npm错误!请在任何支持请求中包括以下文件:
npm错误/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仍然不起作用,即使节点现在正在传递必要的标志,所以在修复之前,您必须找到解决方法


欲了解更多信息:,

我在注册表更改后得到了该功能。可能是我在服务器上遇到的网络问题,也可能是IPv6唯一的问题。不管怎样,注册表的更改工作得很好

sudo npm --registry http://registry.node-modules.io/ install n -g
下面的链接引导我找到了答案。

希望这将有助于今后的参考人!
感谢@Kalana Demel帮助我找到答案。

另一个同样适用于纱线的解决方法是将已解决的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,你能试试
nslookup registry.npmjs.org
并告诉我它的输出地址吗<代码>服务器:2001:550:1:1::d地址:2001:550:1:1::d#53非权威答案:registry.npmjs.org canonical name=a.sni.fastly.net。姓名:a.sni.fastly.net地址:151.101.20.162btw,您的节点和npm版本是什么?我正在使用节点v9.0.0和npm v5.5.1。我在下面更新了我自己的答案。希望它能帮助别人!我用力试了一下,但没有成功。它现在给出了错误-
http://registry.npmjs.org/npm 失败
当我尝试以下命令时-
nvm install latest npm
我将
registry.npmjs.org
添加到我的
/etc/hosts
中,一切正常。非常感谢。