在树莓派上安装Google Coder时遇到NPM错误

4

我正在树莓派上进行以下操作,以设置Google Coder:

sudo apt-get install nodejs npm git
git clone https://github.com/googlecreativelab/coder
cd coder/coder-base/
npm install

在我输入第四个命令“npm install”之前,它运行得很好,但是当我这样做时,我会收到以下错误:

npm ERR! 错误: 从仓库获取失败:express/3.1.0 npm ERR! 位于 /usr/share/npm/lib/utils/npm-registry-client/get.js:139:12 npm ERR! 在 cb (/usr/share/npm/lib/utils/npm-registry-client/request.js:31:9) npm ERR! 在 Request._callback (/usr/share/npm/lib/utils/npm-registry-client/request.js:136:18) npm ERR! 在 Request.callback (/usr/lib/nodejs/request/main.js:119:22) npm ERR! 在 Request. (/usr/lib/nodejs/request/main.js:212:58) npm ERR! 在 Request.emit (events.js:88:20) npm ERR! 在 ClientRequest. (/usr/lib/nodejs/request/main.js:209:10) npm ERR! 在 ClientRequest.emit (events.js:67:17) npm ERR! 在 CleartextStream.socketErrorListener (http.js:1188:9) npm ERR! 在 CleartextStream.emit (events.js:67:17) npm ERR! 您可以在以下链接报告此日志: npm ERR! http://bugs.debian.org/npm npm ERR! 或使用 npm ERR! reportbug --attach /home/pi/coder/coder-base/npm-debug.log npm npm ERR! npm ERR! 系统 Linux 3.10.25+ npm ERR! 命令 "/usr/bin/nodejs" "/usr/bin/npm" "install" "-g" npm ERR! 当前工作目录 /home/pi/coder/coder-base npm ERR! node -v v0.6.19 npm ERR! npm -v 1.1.4 npm ERR! 信息 failed to fetch from registry: express/3.1.0 npm ERR! npm ERR! 可以在以下文件中找到详细的日志信息: npm ERR! /home/pi/coder/coder-base/npm-debug.log npm not ok

然后我尝试使用"sudo npm install -g"运行,这需要更长时间,但最终出现相同的错误。

我还尝试运行"sudo npm config set registry http://registry.nmpjs.org/pi-gpio"。

有人能指点我正确的方向来解决或规避这个问题吗?


看起来是连接问题,因为它试图拉取各种依赖项。你的树莓派是否有稳定的网络连接? - Joe
是的。我之前能够使用sudo apt-get update和upgrade,并且下载了很多东西。我已经在过去几个小时里一直对RPi进行ping测试,没有丢失任何数据包。 - motionpotion
那不是你设置的有效注册表。请仅放置 http://registry.npmjs.org/ - user568109
我也尝试过运行“sudo npm config set registry http://registry.npmjs.org”,但错误仍然相同。 - motionpotion
2个回答

4

我最近在树莓派上遇到了类似的问题,原因是apt-get安装的node/npm版本不是最新的。我按照Debian Wheezy版的Node Wiki上的说明(从源代码构建)进行操作,效果很好(但需要一些时间):

1. 安装Node:

sudo apt-get install python g++ make checkinstall fakeroot
src=$(mktemp -d) && cd $src
wget -N http://nodejs.org/dist/node-latest.tar.gz
tar xzvf node-latest.tar.gz && cd node-v*
./configure
fakeroot checkinstall -y --install=no --pkgversion $(echo $(pwd) | sed -n -re's/.+node-v(.+)$/\1/p') make -j$(($(nproc)+1)) install
sudo dpkg -i node_*

2. 安装 npm:

curl https://www.npmjs.org/install.sh | sudo sh

Original instructions are here.


谢谢您的回复。如果我已经安装了Node和npm,那么在按照您上面概述的步骤之前,我需要将它们卸载吗? - motionpotion
1
我不知道你是否需要这样做,但在继续之前,我通过apt-get将其删除了(不记得确切的步骤,但类似于sudo apt-get remove nodejs)。 - hross

1

尝试了这个。仍然出现类似的错误,但这次它无法获取consolidate/0.8.0。错误:从注册表中获取失败:consolidate/0.8.0。 - motionpotion

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接