“消息未能从注册表获取”尝试安装任何模块(“message failed to fetch from

2019-06-18 13:31发布

我无法安装从故宫的任何节点模块。

npm install socket.io

上面的命令导致下面的输出,它是无法安装socket.io

npm http GET https://registry.npmjs.org/socket.io

npm ERR! Error: failed to fetch from registry: socket.io
npm ERR!     at /opt/node0610/lib/node_modules/npm/lib/utils/npm-registry-client/get.js:139:12
npm ERR!     at cb (/opt/node0610/lib/node_modules/npm/lib/utils/npm-registry-client/request.js:32:9)
npm ERR!     at Request._callback (/opt/node0610/lib/node_modules/npm/lib/utils/npm-registry-client/request.js:137:18)
npm ERR!     at Request.callback (/opt/node0610/lib/node_modules/npm/node_modules/request/main.js:109:22)
npm ERR!     at Request.<anonymous> (/opt/node0610/lib/node_modules/npm/node_modules/request/main.js:198:58)
npm ERR!     at Request.emit (events.js:88:20)
npm ERR!     at ClientRequest.<anonymous> (/opt/node0610/lib/node_modules/npm/node_modules/request/main.js:195:10)
npm ERR!     at ClientRequest.emit (events.js:67:17)
npm ERR!     at CleartextStream.<anonymous> (http.js:1134:11)
npm ERR!     at CleartextStream.emit (events.js:67:17)
npm ERR! You may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>
npm ERR! 
npm ERR! System Linux 2.6.18-194.el5
npm ERR! command "node" "/opt/node0610/bin/npm" "install" "socket.io"
npm ERR! cwd /opt/node0610/lib/node_modules
npm ERR! node -v v0.6.10
npm ERR! npm -v 1.1.0-3
npm ERR! message failed to fetch from registry: socket.io
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /opt/node0610/lib/node_modules/npm-debug.log
npm not ok

我NPM版本是:

[applmgr@dev node_modules]$ npm --version
1.1.0-3

我的版本的NodeJS是:

[applmgr@dev node_modules]$ node --version
v0.6.10

Answer 1:

我曾就此问题与npm v1.1.4 (和node v0.6.12 ),这是Ubuntu 12.04存储库版本。

它看起来像该版本npm不支持任何更多,更新节点(NPM和与它)解决了这个问题。

首先,卸载过时的版本(可选的,但我认为这固定我与全球模块不径处理中有一个问题)。

sudo apt-get purge nodejs npm

然后启用nodesource的回购和安装:

curl -sL https://deb.nodesource.com/setup | sudo bash -
sudo apt-get install -y nodejs

注 - 以前的建议是用克里斯Lea的回购,他现在迁移,要nodesource,请参阅:

  • https://chrislea.com/2014/07/09/joining-forces-nodesource/
  • https://nodesource.com/blog/chris-lea-joins-forces-with-nodesource

来自: 这里



Answer 2:

https://github.com/isaacs/npm/issues/2119

我不得不执行以下命令:

npm config set registry http://registry.npmjs.org/

然而,这将使npm安装软件包通过不安全的HTTP连接。 如果可以的话,你应该坚持

npm config set registry https://registry.npmjs.org/

而不是安装在HTTPS。



Answer 3:

我在Ubuntu。 我用apt-get的安装节点。 NPM不包括在该包,所以它必须单独安装。 我认为会的工作,但显然是在Ubuntu发行故宫的版本已经过时。

节点维基有此指令:

获取最近的节点的版本或安装在旧的Ubuntu和其他基于容易的发行,可能需要一些额外的步骤。 例如安装:

sudo apt-get update
sudo apt-get install -y python-software-properties python g++ make
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs

在此之后,故宫已经被列入和完美。



Answer 4:

你还需要安装软件 - 属性 - 共同为附加的apt-库工作。 所以这将是

sudo apt-get purge nodejs npm
sudo apt-get install -y python-software-properties python g++ make software-properties-common
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs


Answer 5:

对我来说,它通常是一个代理问题,我尝试一切:

npm config set registry http://registry.npmjs.org/
npm config set strict-ssl false

npm config set proxy http://myusername:mypassword@proxy.us.somecompany:8080
npm config set https-proxy http://myusername:mypassword@proxy.us.somecompany:8080
set HTTPS_PROXY=http://myusername:mypassword@proxy.us.somecompany:8080
set HTTP_PROXY=http://myusername:mypassword@proxy.us.somecompany:8080
export HTTPS_PROXY=http://myusername:mypassword@proxy.us.somecompany:8080
export HTTP_PROXY=http://myusername:mypassword@proxy.us.somecompany:8080
export http_proxy=http://myusername:mypassword@proxy.us.somecompany:8080

npm --proxy http://myusername:mypassword@proxy.us.somecompany:8080 \
--without-ssl --insecure -g install


Answer 6:

已经为我工作与随机NPM安装错误(其中包的错误了正在不同的时间不同(但相同的环境)有一件事是使用这样的:

npm cache clean

然后重复上述过程。 然后,该过程似乎更为顺畅和实际问题,错误信息将出现,在那里你可以解决它,然后继续。

这是基于上运行的漂亮裸Ubuntu安装一个码头工人实例内下了一大堆包的NPM安装的经验。 有时,构建/ make工具从Ubuntu和故宫错误失踪,直到你清理出于某种原因缓存不会出现真正的问题。



Answer 7:

此问题是由于https协议,这就是为什么在其他解决方案的工作(通过切换到非安全协议)。

对我来说,最好的解决办法是收集最新版本的节点,其中包括故宫

apt-get purge nodejs npm
git clone https://github.com/nodejs/node ~/local/node
cd ~/local/node
./configure
make
make install


Answer 8:

目前有来自Joyent的官方说明 (主要靠山的NodeJS)。 对于Ubuntu的:

sudo apt-get purge nodejs npm
curl -sL https://deb.nodesource.com/setup | sudo bash -
sudo apt-get install -y nodejs

对于其他UNIX发行,OSX和Windows看到该链接。 请注意,这将安装两个节点和故宫。



Answer 9:

为我工作的基本OS月神,Ubuntu的叉的唯一的事情。 我是在x86架构上。 我在这里尝试了所有的答案,但最终还是决定从源代码安装它。

首先,确保使用软件包管理其未安装:

sudo apt-get purge nodejs npm -y

我去下载页面查找最新的源和下载, http://nodejs.org/download/ 。 您可以使用卷曲,wget的或您的浏览器来得到它:

wget http://nodejs.org/dist/v0.10.34/node-v0.10.34.tar.gz
tar -xvf node-v0.10.34.tar.gz 
cd node-v0.10.34
./configure
make
sudo make install

本作可能需要一段时间。 完成后,你应该有节点和NPM安装在你的/ usr / local / bin目录目录的工作应该是已经在你的路径上。 你应该确认它生活的地方:

which npm node

我也不得不更改权限,以得到它的工作:

sudo chown -R $USER /usr/local

如果它不工作检查您的路径:

echo $PATH

请注意,在安装这种方式,它不会被apt-get的软件包管理器来管理。 干杯!



Answer 10:

下面的方法为我工作,荣誉给github上用户:midnightcodr

请确保您删除任何的NodeJS / NPM包已安装。

sudo apt-get purge nodejs

sudo apt-get purge npm

立即安装节点JS使用下面的命令(感谢midnightcodr GitHub上)

curl -L https://raw.github.com/midnightcodr/rpi_node_install/master/setup.sh | bash -s 0.10.24

请注意,您可以调用节点用命令节,而不是的NodeJS。

一旦安装节点,安装NPM

sudo apt-get install npm


Answer 11:

最近我升级的node.js(和必然NPM)到最新版本后,有这个问题:

> npm --version < 2.0.0-alpha-5

注:我并没有要求一个不稳定的版本,我刚刚得到它后brew install npm在OSX。

降级NPM解决了这个问题对我来说。

安装稳定故宫最简单的方法是npm install -g npm ,但它可能不会下可能需要进行一些情况和node.js中的降级然后工作。



Answer 12:

这可能是因为故宫注册表下跌在时间还是掉线。

无论哪种方式,你应该升级节点和故宫。

我会建议使用殿来管理节点的环境。

https://npmjs.org/package/nave

它可以让你轻松地安装版本和它们之间快速跳转。



Answer 13:

为树莓PI我发现和修饰的溶液我发现
这里是我跑

sudo su -
cd /opt
wget http://nodejs.org/dist/v0.10.28/node-v0.10.28-linux-arm-pi.tar.gz
tar xvzf node-v0.10.28-linux-arm-pi.tar.gz
ln -s node-v0.10.28-linux-arm-pi node
chmod a+rw /opt/node/lib/node_modules
chmod a+rw /opt/node/bin
echo 'PATH=$PATH:/opt/node/bin' > /etc/profile.d/node.sh

我做了唯一MOD是所有10.25变为10.28这是最新的Linux臂-PI的时候



Answer 14:

@ therefromhere的答案是最好的之一。 然而节点版本曾经感动起向上,并且版本被io.js.的重合并复杂 继他的回答的步骤,你将最终节点版本0.10.25 -不是最新版本。

你还是应该清除任何现有节点/ NPM封装,

sudo apt-get purge nodejs npm

然后去看看nodesource的deb安装在页面https://github.com/nodesource/distributions#debinstall 。

Node.js的所有版本的上述网页上列出与Linux命令来安装它们。 而这些包装上能够Debian和Ubuntu的工作。

PS。如果您想运行在Ubuntu上精确或Debian的喘息节点V4.4或更高版本,您应该查看关于旧的发行版的运行信息 。

PPS如果你的apt-get是失败的 ,该脚本将无法完成(谷歌引用了我的失败apt-get update )。 您应该看到添加有关NodeSource签名密钥消息给你的钥匙圈和最后的消息,指示您Run 'apt-get install nodejs' to install Node.js

PPPS NPM安装有节点。 安装一次,就可以更新到了最新的NPM sudo npm install npm -g



文章来源: “message failed to fetch from registry” while trying to install any module
标签: node.js npm