install node v7.x
curl --silent --location https://rpm.nodesource.com/setup_7.x | bash -
#設置鏡像npm config set registry=http://registry.npm.taobao.org
#安裝nodejssudo yum install nodejs
#驗證安裝情況
node -v
npm -v
install node v8.x
curl --silent --location https://rpm.nodesource.com/setup_8.x | bash -
sudo yum install -y nodejs
#驗證安裝情況
node -v
npm -v
install node v4.x
一.準備工作
1.安裝gccyum install make libssl-dev scl-utils g++ gcc gcc-c++ openssl-devel bzip2-devel pkgconfig
2.卸載npm 和 Node.js
npm uninstall npm -g
yum remove nodejs npm -y
3.升級python
升級步驟:http://blog.51cto.com/qiangsh/1979284
二、編譯安裝node.js(推薦第三步跳過編譯安裝)
wget https://nodejs.org/dist/v4.8.7/node-v4.8.7.tar.gz
tar -xzvf node-v4.8.7.tar.gz
cd node-v4.8.7/
./configure
make
sudo make install
建立軟鏈,否則可能會提示你沒有安裝nodejs無法安裝npm。:
sudo ln -s /usr/local/bin/node /usr/bin/node
安裝過程出現如下錯誤:
ImportError: No module named bz2
make[1]: *** [/data/package/node-v0.10.29/out/Release/obj/gen/libraries.cc] Error 1
make[1]: Leaving directory `/data/package/node-v0.10.29/out'
make: *** [node] Error 2
解決方法:
yum install bzip2-devel
然後需要重新編譯一下python,之後再import bz2就不會提示錯誤了。
在 CentOS 6 上編譯 node 源代碼的時候,有以下報錯:
WARNING: C++ compiler too old, need g++ 4.8 or clang++ 3.4 (CXX=g++)
這是由於 CentOS 6 中編譯 node4+ 需要高版本號的 C++ 編譯器,於是我直接上傳編譯好的 nodejs 二進制版本。
事實上,我推崇大家直接下載已編譯好的 node 版本,可以避開很多坑。
三、跳過編譯安裝
1.下載node二進制包,解壓配置:
wget https://nodejs.org/dist/v4.8.7/node-v4.8.7-linux-x64.tar.gz
tar zxvf node-v4.8.7-linux-x64.tar.gz
mv node-v4.8.7-linux-x64 /usr/local/node
chown -R root:root /usr/local/node/
2.建立軟鏈,否則可能會提示你沒有安裝nodejs無法安裝npm。:
sudo ln -s /usr/local/node/bin/node /usr/bin/node
sudo ln -s /usr/local/node/bin/node /usr/local/bin/node
sudo ln -s /usr/local/node/bin/npm /usr/bin/npm
sudo ln -s /usr/local/node/bin/npm /usr/local/bin/npm
3.配置環境變量
$ vi /etc/profile
增加以下內容:
export NODE_HOME=/usr/local/node
export PATH=$NODE_HOME/bin:$PATH
如果關閉終端再進去發現 node 環境變量失效,可以在 ~/.bash_profile 增加 export。
$ vi ~/.bash_profile
在結尾添加以下內容:
export NODE_HOME=/usr/local/node
export PATH=$NODE_HOME/bin:$PATH
使環境變量生效
source /etc/profile
退出系統,再次進入執行 node -v 和 npm -v,出現版本號則說明沒有問題。
四.測試node.js
查看 node 版本:
$ node -v
v4.8.7
第一個程序少不了hello world了,找一個空閒目錄
vi hello_world.js
'use strict';
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello Node.js\n');
}).listen(8088, "0.0.0.0");
console.log('Server running at http://127.0.0.1:8088/');
第一行總是寫上'use strict';是因爲我們總是以嚴格模式運行JavaScript代碼,避免各種潛在陷阱。
然後編譯,當前目錄下輸入:
node hello_world.js
輸出Server running at ……則代表編譯成功了。(若提示commad :node:not found,則是第二部編譯沒有成功,可以在編譯次,留意下是不是有錯誤,也可能是找不到node命令,配置一個軟連接:ln -s /usr/local/bin/node /usr/bin/node )
然後在瀏覽器輸入http://127.0.0.1:8088,則瀏覽器打印出Hello Node.js
五、其他
npm是什麼東東?npm其實是Node.js的包管理工具(package manager)。
爲啥我們需要一個包管理工具呢?因爲我們在Node.js上開發時,會用到很多別人寫的JavaScript代碼。如果我們要使用別人寫的某個包,每次都根據名稱搜索一下官方網站,下載代碼,解壓,再使用,非常繁瑣。於是一個集中管理的工具應運而生:大家都把自己開發的模塊打包後放到npm官網上,如果要使用,直接通過npm安裝就可以直接用,不用管代碼存在哪,應該從哪下載。
更重要的是,如果我們要使用模塊A,而模塊A又依賴於模塊B,模塊B又依賴於模塊X和模塊Y,npm可以根據依賴關係,把所有依賴的包都下載下來並管理起來。否則,靠我們自己手動管理,肯定既麻煩又容易出錯。
升級npm到最新版本
npm install -g npm
防止npm被牆,使用淘寶的 npm 鏡像替代:
npm install -g cnpm --registry=https://registry.npm.taobao.org
提示……It worked,則npm安裝成功!
**
搭建express框架**
安裝express:
npm install -g express-generator
在需要放置 node app 的目錄下初始化一個 express 項目並安裝所需模塊:
express -e testapp
cd testapp && npm install
在瀏覽器中輸入 公網IP:3000 便能直接看到 express 初始頁面:
說明 express 框架搭建成功。接下來就愉快地進行開發吧!