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
|
sudo
apt
-
get
install
python
sudo
apt
-
get
install
build
-
essential
sudo
apt
-
get
install
gcc
sudo
apt
-
get
install
g
++
|
3).安装git,如果直接下载源码,git也可以不装.预留着.
1
|
sudo
apt
-
get
install
git
-
core
|
第二步,获取node源码
去官网直接下载:http://nodejs.org
#解压
1
|
tar
-
zxf
node
-
v0
.
8.17.tar.gz
|
#进入解压后的文件夹
1
|
cd
node
-
v0
.
8.17
|
第三步,编译,安装
1)不指定安装路径,三步搞定
1
2
3
|
.
/
configure
make
(有点慢这里
!
)
sudo
make
install
|
[注:这种方式不推荐,貌似安装后会有很多问题的.因为俺是liunx菜鸟撒.如果你是大牛不用考虑俺的,自己去解决问题吧.哈哈!]
2)指定安装路径:执行configure命令设置安装目录
(注:指定的安装目录要在安装完毕后.设置权限.很重要!如果本身账户就是root那这里都是废话.如果不是就请注意了.如何设置文件权限,后面有讲.现在可以继续。)
例如将nodejs安装在/usr/local/node目录下。
1
|
.
/
configure
--
prefix
=
/
usr
/
local
/
node
|
#运行make命令编译源代码,再运行make install命令安装nodejs
1
2
|
make
sudo
make
install
|
第四步,设置环境变量
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
|
grep
chmod
|
权限给好了就可以安装spm了,同样安装其他模块(比如express)也不会出问题了.
#回到根目录,可回可不回,随便
1
|
cd
|
#开始安装,为啥要-gd前面有解释,不加-gd的话,可能会出一些问题,如果你可以解决问题,那么就不用担心。如果这里加-gd,那么前面的文件夹权限步骤肯定是要给的.不给权限会执行不了下面的命令.具体你自己试一试就知道了.
[注:如果本来账户就是root就跳过这些废话,嘿嘿!]
1
|
npm
install
spm
-
gd
|
#然后一直等待
#完毕之后就是,查看版本要大写.(晕!)
1
|
spm
-
V
|
输出版本这就OK了.
例如:安装express
#记得一定要加-gd,不然他就会安装到当前文件夹下
1
|
npm
install
express
-
gd
|
#-g代表安装到NODE_PATH的lib里面,而-d代表把相依性套件也一起安装。如果沒有-g的话会安装目前所在的目录(会建立一个node_modules的文件夹),你可以通过以下指令来比较两者的不同:
1
2
|
npm
list
-
g
npm
list
|