1

从源代码编译后,我在启动 node 和 npm 时遇到了一些问题。
我已经在 AWS ec2 上安装了节点,这是一个微型实例,带有一个基于 RedHat 的 Virtualmin AMI。
由于是微实例,编译耗时近2小时...

这是我安装它的方法:

wget -N http://nodejs.org/dist/node-latest.tar.gz
tar xzvf node-latest.tar.gz
cd node-latest
make
make install

在那之后,打字node -v什么也没做。command not found. 也没什么npm -v

我对 Linux 不是很满意,但我知道没有为 node 和 npm 创建符号链接。它们不应该是自动创建的吗?

对于节点,我可以这样做:

ln -s /usr/local/src/node-v0.10.5/out/Release/node /usr/bin/node

然后node -v给了我我的期望:v0.10.5

然后我对 npm 做同样的事情

ln -s /usr/local/src/node-v0.10.5/deps/npm/bin/npm /usr/bin/npm

但尝试npm -v效果不佳:

module.js:340
    throw err;
          ^
Error: Cannot find module '/usr/bin/node_modules/npm/bin/npm-cli.js'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:901:3

似乎就是在目录中搜索一些文件/usr/bin/,但这些文件在/usr/local/src/node-v0.10.5/deps/npm/目录中。

我究竟做错了什么 ?

4

1 回答 1

0

用这个

sudo ln -s /usr/local/bin/node /usr/bin/node
sudo ln -s /usr/local/lib/node /usr/lib/node
sudo ln -s /usr/local/bin/npm /usr/bin/npm
sudo ln -s /usr/local/bin/node-waf /usr/bin/node-waf

但绝对不应该花2个小时!我在几分钟内通过 CloudInit 和 UserData 启动了带有节点的 EC2 Ubuntu 12.04 LTS 实例。

您可以改为使用此脚本:

add-apt-repository ppa:chris-lea/node.js
apt-get update
apt-get install -y nodejs
npm install npm -g
于 2013-05-05T22:44:04.467 回答