我无法从npm安装任何节点模块 .
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
14 回答
我有
npm v1.1.4
(和node v0.6.12
)这个问题,这是Ubuntu 12.04
存储库版本 .看起来不再支持
npm
的那个版本,更新节点(和它的npm)解决了这个问题 .首先,卸载过时的版本(可选,但我认为这解决了我遇到的全局模块未被修改的问题) .
然后启用nodesource的repo并安装:
注意 - 之前的建议是使用Chris Lea的repo,他现在将其迁移到nodesource,请参阅:
https://chrislea.com/2014/07/09/joining-forces-nodesource/
https://nodesource.com/blog/chris-lea-joins-forces-with-nodesource
来自:here
https://github.com/isaacs/npm/issues/2119
我必须执行以下命令:
但是,这将使
npm
安装包通过不安全的HTTP连接 . 如果可以的话,你应该坚持下去而是通过HTTPS安装 .
我在Ubuntu上 . 我使用apt-get来安装节点 . Npm不包含在该软件包中,因此必须单独安装 . 我认为这样可行,但显然Ubuntu发行版中的npm版本已经过时了 .
节点wiki具有以下指令:
在那之后,npm已经被包括在内并且工作得很好 .
您还需要为add-apt-repository安装软件属性 - 通用 . 所以它会
对我来说,这通常是一个代理问题,我尝试了一切:
此问题是由https协议引起的,这就是其他解决方案有效的原因(通过切换到非安全协议) .
对我来说,最好的解决方案是编译最新版本的节点,其中包括npm
有一件事对我来说是随机的npm安装错误(在不同的时间(但环境相同)错误输出的包是使用这个:
npm cache clean
然后重复这个过程 . 然后这个过程似乎变得更加顺畅,真正的问题和错误信息将会出现,你可以修复它然后继续 .
这是基于在Docker实例中的一个非常简单的Ubuntu安装下运行npm安装一大堆软件包的经验 . 有时Ubuntu中缺少构建/生成工具,在您因某种原因清理缓存之前,npm错误不会显示真正的问题 .
现在有official instructions from joyent(主节点js支持者) . 对于Ubuntu:
对于其他unix发行版,osx和windows查看链接 . 请注意,这将安装节点和npm .
对于我来说,唯一适合我的是基础操作系统Luna,一个Ubuntu Fork . 我在x86架构上 . 我在这里尝试了所有的答案,但最终决定从源代码安装它 .
首先,确保使用包管理器未安装它:
我去了下载页面查找最新的源代码并下载它,http://nodejs.org/download/ . 您可以使用curl,wget或浏览器来获取它:
制作可能需要一段时间 . 完成后,您应该安装node和npm并在/ usr / local / bin目录中工作,该目录应该已经在您的路径上 . 你应该验证它住在哪里:
我还必须更改权限才能使其工作:
如果它不起作用,请检查您的路径:
请注意,以这种方式安装它,它将不会由apt-get包管理器管理 . 干杯!
下面的方法对我有用,Kudos给github用户:midnightcodr
确保删除已安装的任何nodejs / npm软件包 .
现在使用下面的命令安装Node js(感谢github上的midnightcodr)
请注意,您可以使用命令节点而不是nodejs来调用节点 .
安装节点后,安装npm
最近我将node.js(并且不可避免地是npm)升级到最新版本后出现了这个问题:
> npm --version < 2.0.0-alpha-5
注意:我没有要求一个不稳定的版本,我只是在OSX上的
brew install npm
之后得到它 .降级npm为我解决了这个问题 .
安装稳定npm的最简单方法是
npm install -g npm
,但在某些情况下它可能不起作用,可能需要降级node.js然后 .可能是当时npm注册表已关闭或您的连接断开 .
无论哪种方式,您都应该升级node和npm .
我建议使用 nave 来管理您的节点环境 .
https://npmjs.org/package/nave
它允许您轻松安装版本并在它们之间快速跳转 .
对于覆盆子pi我发现并修改了solution我发现了
这是我跑的
我所做的唯一模式是将所有10.25改为10.28,这是当时最新的linux-arm-pi
@herehere的答案是最好的答案 . 然而,Node版本已经向前和向上移动,并且版本化因io.js的重新出现而变得复杂 . 按照他的回答中的步骤,您将得到Node版本
0.10.25
- 而不是最新版本 .您仍应使用清除任何现有节点/ npm包
然后去https://github.com/nodesource/distributions#debinstall查看 nodesource deb 安装页面 .
All Node.js versions are listed 在上面的页面上用Linux命令安装它们 . 这些包将在 both Debian and Ubuntu 上运行 .
附:如果要在Ubuntu Precise或Debian Wheezy上运行Node v4.4或更高版本,则应查看information about running on older distros .
P.P.S.如果你的 apt-get is failing ,脚本将无法完成(谷歌引用失败了我的
apt-get update
) . 您应该看到有关将NodeSource签名密钥添加到密钥环的消息以及指示您Run 'apt-get install nodejs' to install Node.js
的最终消息 .P.P.P.S. npm随节点一起安装 . 安装完成后,您可以使用
sudo npm install npm -g
更新到最新的npm