liunx裡面安裝nodejs我也找了非常多文章,貌似對非常多liunx新手來講不是非常清楚,以下是我結合一些文章,親自實踐得到的安裝步驟.同一時候還有大家關心的與seajs緊密相關的spm子產品的安裝。(或許非常多人在liunx裡面nodejs裝完之後裝spm子產品常常報錯.嘿嘿.看看這個或許知道為啥.)
(- -!事實上俺也不懂liunx的,是以就這裡折騰了一翻,大家請看吧.我這些都是在虛拟機裡面的ubuntu裡面測試能夠用的.)
第一步,安裝依賴包
1)安裝編譯器和執行環境.一般僅僅用這個就好了.後面的能夠自己看着辦.
<col>
1
sudo apt-get install g++ curl libssl-dev apache2-utils
#這個以下的能夠運作下看看。反正要保證全部須要的都已經安裝好了。
2).確定系統安裝來python,gcc,g++,假設沒有則安裝:
2
3
4
sudoapt-getinstallpython
sudoapt-getinstallbuild-essential
sudoapt-getinstallgcc
sudoapt-getinstallg++
3).安裝git,假設直接下載下傳源代碼,git也能夠不裝.預留着.
sudo apt-get install git-core
第二步,擷取node源代碼
去官網直接下載下傳:http://nodejs.org
#解壓
tar-zxfnode-v0.8.17.tar.gz
#進入解壓後的目錄
cd node-v0.8.17
第三步,編譯,安裝
1)不指定安裝路徑,三步搞定
./configure
make(有點慢這裡!)
sudomakeinstall
[注:這樣的方式不推薦,貌似安裝後會有非常多問題的.由于俺是liunx菜鳥撒.假設你是大牛不用考慮俺的,自己去解決這個問題吧.哈哈!]
2)指定安裝路徑:運作configure指令設定安裝檔案夾
(注:指定的安裝檔案夾要在安裝完成後.設定權限.非常重要!假設本身賬戶就是root那這裡都是廢話.假設不是就請注意了.怎樣設定檔案權限,後面有講.如今能夠繼續。)
比如将nodejs安裝在/usr/local/node檔案夾下。
./configure --prefix=/usr/local/node
#執行make指令編譯源碼,再執行make install指令安裝nodejs
make
第四步,環境變量設定
1)假設不環境變量設定。你将僅僅能在/usr/local/node/bin檔案夾下執行node
export PATH=$PATH:/usr/local/node/bin
[注:每次開終端都要執行下上面指令,麻煩!是以推薦使用以下2的.--!]
2)将node的路徑增加的環境變量中。以便打開shell之後直接調用node指令。對于Ubuntu來說,比較常見的做法就是編輯目前使用者的配置檔案.bashrc檔案,将例如以下腳本增加檔案的末尾:
PATH="/usr/local/node/bin:$PATH"
[注:假設你用圖形界面的話,打開檔案浏覽器,按一下ctrl+h。就會顯示隐藏的檔案,這樣就能找到.bashrc檔案了,我使用的這樣的方式.]
第五步,測試node是否成功安裝
//顯示node版本。表示成功安裝
node -v
檔案權限設定(注:是給非root帳号的.):
能夠參看第三步的路徑.
以下是俺裝spm之前設定檔案夾權限的方式:
#進入local檔案夾
cd/usr/local
#給node目錄可讀可寫的權限
sudo chmod -R 777 node/
[注:我是這樣操作的,這裡你自己假設懂這個.那應該非常明确的.]
#檢視曆史,随便你想看就看呗,不看就跳過.
history
history|grepchmod
權限給好了就能夠安裝spm了,相同安裝其它子產品(比方express)也不會出問題了.
#回到根檔案夾,可回可不回。随便
cd
#開始安裝,為啥要-gd前面有解釋,不加-gd的話,可能會出一些問題,假設你能夠解決這個問題,那麼就不用操心。假設這裡加-gd,那麼前面的目錄權限步驟肯定是要給的.不給權限會運作不了以下的指令.詳細你自己試一試就知道了.
[注:假設本來賬戶就是root就跳過這些廢話,嘿嘿!]
npminstallspm-gd
#然後一直等待
#完成之後就是。檢視版本号要大寫.(暈!)
spm -V
輸出版本号這就OK了.
比如:安裝express
#記得一定要加-gd,不然他就會安裝到目前目錄下
npminstallexpress-gd
#-g代表安裝到NODE_PATH的lib裡面,而-d代表把相依性套件也一起安裝。假設沒有-g的話會安裝眼下所在的檔案夾(會建立一個node_modules的檔案夾),你能夠通過下面指令來比較兩者的不同:
npmlist-g
npmlist