centos 6.5安裝nodejs全記錄

下載node源碼

cd /usr/local/src
curl https://nodejs.org/dist/v6.11.4/node-v6.11.4.tar.gz -o ./node-v6.11.4.tar.gz
tar -xzvf node-v6.11.4.tar.gz
cd node-v6.11.4

安裝

如果沒安裝python,先安裝python,否則會報錯,如下

./configure --prefix=/usr/local/node/6.11.4
which: no python2.7 in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)
WARNING: failed to autodetect C++ compiler version (CXX=g++)
WARNING: failed to autodetect C compiler version (CC=gcc)
Node.js configure error: No acceptable C compiler found!

        Please make sure you have a C compiler installed on your system and/or
        consider adjusting the CC environment variable if you installed
        it in a non-standard prefix.

Linux上安裝Node.js需要安裝Python 2.6 或 2.7 ,不建議安裝Python 3.0以上版本。

安裝python2.7

下載python2.7.14

cd /usr/local/src
curl https://www.python.org/ftp/python/2.7.14/Python-2.7.14.tgz -o python-2.7.14.tgz

setup compilation:

cd python-2.7.14
./configure --prefix=/usr/local/python/2.7.14
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for python2.7... no
checking for python3... no
checking for python... python
checking for --enable-universalsdk... no
checking for --with-universal-archs... 32-bit
checking MACHDEP... linux2
checking EXTRAPLATDIR...
checking for --without-gcc... no
checking for --with-icc... no
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/usr/local/src/Python-2.7.14':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details

報錯是因爲沒依賴庫,執行下面的命令

yum groupinstall "Development tools"
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel

再次

./configure --prefix=/usr/local/python/2.7.14

編譯:

make

安裝:

make install

建立鏈接,方便使用:

ln -s /usr/local/python/2.7.14/bin/python2.7 /usr/bin/python
ln -s /usr/local/python/2.7.14/bin/python2.7 /usr/bin/python2
ln -s /usr/local/python/2.7.14/bin/python2.7 /usr/bin/python2.7

查看版本號

python --version

繼續安裝node

cd /usr/local/src/node-v6.11.4
./configure --prefix=/usr/local/node/6.11.4
yum upgrade gcc-c++
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:

   No module named yum

解決方法:

vim /usr/bin/yum
// 首行改爲
#!/usr/bin/python2.6

如果出現下面的錯誤

./configure --prefix=/usr/local/node/6.11.4
WARNING: C++ compiler too old, need g++ 4.8 or clang++ 3.4.2 (CXX=g++)
creating ./icu_config.gypi
* Using ICU in deps/icu-small

更換yum源

首先備份/etc/yum.repos.d/CentOS-Base.repo

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
下載對應版本repo文件, 放入/etc/yum.repos.d/(操作前請做好相應備份)

CentOS7
CentOS6
CentOS5
運行以下命令生成緩存

yum clean all
yum makecache
參考
http://mirrors.163.com/.help/centos.html

但是yum上最新版本是gcc-c++-4.4.7-18.el6.x86_64,改爲源碼安裝(gcc需要翻牆,以後補充)
這裏安裝clang++

先安裝cmake

yum install cmake

下載源代碼

curl http://releases.llvm.org/3.4.2/llvm-3.4.2.src.tar.gz -o llvm.tar.gz
curl http://releases.llvm.org/3.4.2/cfe-3.4.2.src.tar.gz -o clang.tar.gz
curl http://releases.llvm.org/3.4/clang-tools-extra-3.4.src.tar.gz -o extra.tar.gz
curl http://releases.llvm.org/3.4/compiler-rt-3.4.src.tar.gz -o compiler-rt.tar.gz

解壓源代碼、整理文件

tar -zxvf llvm.tar.gz
tar -zxvf clang.tar.gz
tar -zxvf extra.tar.gz
tar -zxvf compiler-rt.tar.gz
mv llvm-3.4.2.src/ llvm
mv cfe-3.4.2.src/ clang
mv compiler-rt-3.4/ compiler-rt
mv clang/ llvm/tools/
mv compiler-rt llvm/projects/  

創建編譯目錄,並切換到build目錄

mkdir build && cd build

編譯

cmake -G "Unix Makefiles" ../llvm
make
make install

工具簡介

clang: C語言編譯器,類似於gcc
clang++: C++編譯器,類似於g++。clang++只是clang的一個別名。
clang-format:按照固定的規範格式化C/C++代碼,非常智能。文檔請見:http://clang.llvm.org/docs/ClangFormat.html
clang-modernize:把按照C++98標準寫的代碼,轉成C++11標準的。文檔請見:http://clang.llvm.org/extra/ModernizerUsage.html
llvm-as:LLVM 彙編器
llvm-dis: LLVM 反彙編器
opt:LLVM 優化器
llc:LLVM 靜態編譯器
lli:LLVM的字節碼執行器(某些平臺下支持JIT)
llvm-link:LLVM的字節碼鏈接器
llvm-ar:LLVM的靜態庫打包器,類似unix的ar。
llvm-nm:類似於unix的nm
llvm-ranlib:爲 llvm-ar 打包的文件創建索引
llvm-prof:將 ‘llvmprof.out’ raw 數據格式化成人類可讀的報告
llvm-ld :帶有可裝載的運行時優化支持的通用目標連接器
llvm-config:打印出配置時 LLVM 編譯選項、庫、等等
llvmc:一個通用的可定製的編譯器驅動
llvm-diff:比較兩個模塊的結構
bugpoint:自動案例測試減速器
llvm-extract:從 LLVM 字節代碼文件中解壓出一個函數
llvm-bcanalyzer:字節代碼分析器 (分析二進制編碼本身,而不是它代表的程序)
FileCheck:靈活的文件驗證器,廣泛的被測試工具利用
tblgen:目標描述閱讀器和生成器
lit:LLVM 集成測試器,用於運行測試

參考:

  1. http://www.runoob.com/nodejs/nodejs-npm.html
  2. http://www.shayanderson.com/linux/install-python-3-on-centos-6-server.htm
  3. http://llvm.org/docs/GettingStarted.html#checkout
  4. http://llvm.org/docs/GettingStarted.html#getting-started-quickly-a-summary
  5. http://blog.csdn.net/c_sdnq2451q/article/details/46999119
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章