首页 > 代码库 > ubuntu12.04 下安装nodejs

ubuntu12.04 下安装nodejs

liunx里面安装nodejs我也找了很多文章,貌似对很多liunx新手来讲不是很清楚,下面是我结合一些文章,亲自实践得到的安装步骤.同时还有大家关心的与seajs紧密相关的spm模块的安装。(也许很多人在liunx里面nodejs装完之后装spm模块经常报错.嘿嘿.看看这个也许知道为啥.)
(- -!其实俺也不懂liunx的,所以就这里折腾了一翻,大家请看吧.我这些都是在虚拟机里面的ubuntu里面测试可以用的.)

第一步,安装依赖包    
1)安装编译器和运行环境.一般只用这个就好了.后面的可以自己看着办.

1
sudo apt-get install g++ curl libssl-dev apache2-utils

#这个下面的可以执行下看看。反正要保证所有需要的都已经安装好了。

2).确保系统安装来python,gcc,g++,如果没有则安装:

1
2
3
4
sudoapt-getinstallpython
sudoapt-getinstallbuild-essential
sudoapt-getinstallgcc
sudoapt-getinstallg++

3).安装git,如果直接下载源码,git也可以不装.预留着.

1
sudo apt-get install git-core

第二步,获取node源码
去官网直接下载:http://nodejs.org    
#解压

1
tar-zxfnode-v0.8.17.tar.gz

#进入解压后的文件夹

1
cd node-v0.8.17

第三步,编译,安装
1)不指定安装路径,三步搞定

1
2
3
./configure
make(有点慢这里!)
sudomakeinstall

[注:这种方式不推荐,貌似安装后会有很多问题的.因为俺是liunx菜鸟撒.如果你是大牛不用考虑俺的,自己去解决问题吧.哈哈!]

2)指定安装路径:执行configure命令设置安装目录
(注:指定的安装目录要在安装完毕后.设置权限.很重要!如果本身账户就是root那这里都是废话.如果不是就请注意了.如何设置文件权限,后面有讲.现在可以继续。)
例如将nodejs安装在/usr/local/node目录下。

1
./configure --prefix=/usr/local/node

#运行make命令编译源代码,再运行make install命令安装nodejs

1
2
make
sudomakeinstall

第四步,设置环境变量    
1)如果不设置环境变量,你将只能在/usr/local/node/bin目录下运行node

1
export PATH=$PATH:/usr/local/node/bin

[注:每次开终端都要运行下上面命令,麻烦!所以推荐使用下面2的.--!]

2)将node的路径加入的环境变量中,以便打开shell之后直接调用node命令。对于Ubuntu来说,比较常见的做法就是编辑当前用户的配置文件.bashrc文件,将如下脚本加入文件的末尾:

1
PATH="/usr/local/node/bin:$PATH"

[注:如果你用图形界面的话,打开文件浏览器,按一下ctrl+h,就会显示隐藏的文件,这样就能找到.bashrc文件了,我使用的这种方式.]

第五步,测试node是否安装成功    
//显示node版本号,表示安装成功

1
node -v

文件权限设置(注:是给非root帐号的.):

可以参看第三步的路径.
下面是俺装spm之前设置文件夹权限的方式:
#进入local目录

1
cd/usr/local

#给node文件夹可读可写的权限

1
sudo chmod -R 777 node/

[注:我是这样操作的,这里你自己如果懂这个.那应该很明白的.]

#查看历史,随便你想看就看呗,不看就跳过.

1
2
history
history|grepchmod

权限给好了就可以安装spm了,同样安装其他模块(比如express)也不会出问题了.

#回到根目录,可回可不回,随便

1
cd

#开始安装,为啥要-gd前面有解释,不加-gd的话,可能会出一些问题,如果你可以解决问题,那么就不用担心。如果这里加-gd,那么前面的文件夹权限步骤肯定是要给的.不给权限会执行不了下面的命令.具体你自己试一试就知道了.
[注:如果本来账户就是root就跳过这些废话,嘿嘿!]

1
npminstallspm-gd

#然后一直等待
#完毕之后就是,查看版本要大写.(晕!)

1
spm -V

输出版本这就OK了.

例如:安装express

#记得一定要加-gd,不然他就会安装到当前文件夹下

1
npminstallexpress-gd

#-g代表安装到NODE_PATH的lib里面,而-d代表把相依性套件也一起安装。如果沒有-g的话会安装目前所在的目录(会建立一个node_modules的文件夹),你可以通过以下指令来比较两者的不同:

1
2
npmlist-g
npmlist


ubuntu12.04 下安装nodejs