redhat6.9 上执行 yum install npm成功以后,再执行 npm install 指定的pakage.json时提示git没有安装
1) redhat6.9 上安装 git的 前提条件:
yum install tk zlib-devel openssl-devel perl cpio expat-devel gettext-devel libcurl-devel
查看rpm包是否已经安装,使用 rpm -q 包名称 ,
如果yum源中没有,手工在 https://pkgs.org/ 网站中查找。
这些包必须要先按照,否则会报以下的错误:
In file included from credential-store.c:1:
cache.h:21:18: warning: zlib.h: No such file or directory
In file included from credential-store.c:1:
cache.h:23: error: expected specifier-qualifier-list before ‘z_stream’
make: *** [credential-store.o] Error 1
还有 Can't locate ExtUtils/MakeMaker.pm in @INC
或者 git安装成功以后,但是 git clone https:xxx 时报错 fatal: Unable to find remote helper for 'https'”
(这是因为Git环境在重装后没有安装完全,缺少了 libcurl-devel包, 需要重新安装)
2) 安装git
Git的版本可以在http://git-scm.com/下载
wget http://kernel.org/pub/software/scm/git/git-1.8.3.3.tar.gz
1. tar -xzvf git-1.8.3.3.tar.gz
2. cd git-1.8.3.3
3. ./configure --prefix=/usr/local
4. make
5. make install
3) redhat 6 升级 gcc4.8
在 npm install 中出现以下错误:
错误:unrecognized command line option “-std=c++11”,是因为gcc的版本太低了,
执行 gcc -v 查看 gcc版本, 显示 4.4.7 ,是版本太低了,要升级到 4.8以上。
升级gcc比较麻烦:过程如下:
获取源码
从http://gcc.gnu.org/下载gcc安装包 gcc-4.8.1.tar.gz
从ftp://ftp.gnu.org/gnu/gmp/ 下载GMP安装包 gmp-4.3.2 .tar.bz2
从http://ftp.gnu.org/gnu/mpfr/ 下载MPFR安装包 mpfr-2.4.2.tar.gz
从http://www.cise.ufl.edu/mirrors/GNU/pub/gnu/mpc 下载MPC安装包 mpc-0.8.1.tar.gz
下载完源码后,进行源码的编译升级。
三.源码安装
分别对gmp、mpfr、mpc进行解压、编译
tar xvf gmp-4.3.2 .tar.bz2
tar xvf mpfr-2.4.2.tar.gz
tar xvf mpc-0.8.1.tar.gz
cd gmp-4.3.2
./confiure;make;make install
默认gmp安装到/usr/local/include 和 /usr/local/lib,安装mpfr需要依赖此。
cd ../mpfr-2.4.2
./configure –with-gmp-include=/usr/local/include –with-gmp-lib=/usr/local/lib;make;make install
cd ../mpc-0.8.1
./confiure;make;make install
安装完三个依赖包以后,对gcc进行升级
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
./configure –prefix=/usr/local/gcc4.8 –enable-threads=posix –disable-checking –disable-multilib –enable-languages=c,c++
make
make install
make过程中需要等待蛮长一段时间,耐心等待吧。。
四.设置工作环境
安装完成后,系统默认没有修改环境变量,目前还是使用老版本的gcc。
设置使用新版gcc:
方法一:
update-alternatives –install /usr/bin/gcc gcc /usr/local/gcc4.8/bin/i686-pc-linux-gnu-gcc 40
方法二:
mkdir /usr/gcc447backup/
mv /usr/bin/{gcc,g++} /usr/gcc447backup
ln -s /usr/local/gcc4.8/bin/gcc /usr/bin/gcc
ln -s /usr/local/gcc4.8/bin/g++ /usr/bin/g++
其实,方法一和方法二的原理类似,也是利用软链接进行版本切换。