2013-05-05 80 views
1

我有一些问题从源码编译它们后启动节点和npm。
我已经在带有基于RedHat的Virtualmin AMI的微型实例AWS ec2上安装了节点。
因为它是一个微实例,花了近2个小时编译...ec2上的Nodes.js安装:没有符号链接创建

这是我如何安装它:

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 foundnpm -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/目录中。

我在做什么错?

+1

这是更加适合[Serverfault.com(http://serverfault.com) – Bojangles 2013-05-05 22:18:48

+0

什么是你的'PATH'? ('echo $ PATH') – icktoofay 2013-05-05 22:21:57

+0

'/ sbin:/ bin:/ usr/sbin:/ usr/bin:/ opt/aws/bin' – Clemorphy 2013-05-05 22:55:26

回答

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 
+0

我对'/ usr/local/bin'没有符号链接目录是空它需要2个小时,因为它是一个微型实例,并且从源代码编译使用大量CPU,并且CPU在微型实例上受到限制http://john.krasnay.ca/2012/01/31/ec2-micro-instance- throttling.html – Clemorphy 2013-05-05 23:00:00

+0

使用apt-get来安装 – zavg 2013-05-05 23:02:15

+0

Virtualmin AMI基于RedHat,它使用YUM,而不是APT :( – Clemorphy 2013-05-05 23:31:28