2011
Sep
21

使用 yum 安装 nodejs

如果你的环境是 RedHat, CentOS ,要先安装这个 nodejs 团队维护的 RPM Repository

再用 yum 安装 nodejs

  • sudo yum install nodejs -y

自行编译 nodejs 安装

安装 Node.js 时,他会自动帮你安装 V8 engine ,若是 V8 engine 有问题,装不起来的话,可以参考「安装 Google V8 Engine

将 V8 与 UV 分开安装

Node.js 会使用到 V8 , UV 这两个 library ,一般来说,下载 Node.js 时,就已经含有这两个软体,不过我们也可以自已分开安装 v8 与 UV,安装方式如下。

Install uv library

  • git clone https://github.com/joyent/libuv.git
  • /bin/sh autogen.sh
  • ./configure --prefix=/usr/local/uv --bindir=/usr/local/bin --libdir=/usr/local/lib --includedir=/usr/local/include --mandir /usr/local/share/man/man1
  • make
  • sudo make install

Install v8 library

Install Node.js

  • ./configure --shared-libuv --shared-v8 --shared-v8-libpath=/usr/local/lib --shared-v8-includes=/usr/local/include/v8 --shared-libuv-includes=/usr/local/include/ --shared-libuv-libpath=/usr/local/lib

分开安装的好处是,每一个软体都独立编译,一步一步安装,哪一个软体出错,都可以很快的知道问题,如果一次编译全部的软体,光是编译可能就花掉半小时以上,而且失败又要重来。

! PS: libtool, autoconf 这两个 library 版本不能太低,分别最少都要 2.4, 2.5 以上

安装问题

「NameError: name 'set' is not defined」

! python版本要在 2.6~2.99 之间,太新或太旧都不行

「deps/v8/src/platform-linux.cc:587: error:PR_SET_NAME' was not declared」

! 这个问题主要是因为这句语法 prctl(PR_SET_NAME),这是为旧的linux核心用的,一般来说是用不到的,直接注解掉就好了。

「 File "./configure", line 436 fpu = 'vfpv3' if armv7 else 'vfpv2'」

! python 升到 2.7 以上版本即可

简易测试

  • testing.js
Example
  1. console.log("testing");
  • 执行
Example
  1. [puritys]node# node testing.js
  2. testing

载入JS档

  • require('./xxx.js'); 用「点」开头,代表以目前的目录为路径,载入 xxx.js
  • require('xxx.js'); 这种写法,预设会以 NODE_PATH 为路径,来寻找 xxx.js ,可以用 export NODE_PATH="/home/xxx/node"来设定路径

安装 Package 管理工具 NPM

NPM 全名是 Node.js Package Manager,目的是用来安装 node.js 相关的 Package ,安装 NPM 之后,就可以用指令的方式,去安装别人上传到 npm 的 Library。

安装方式


如果 npm 安装失败的话,可以用另外一个方式


回應 (Leave a comment)