@chris-ren
2017-05-18T06:47:52.000000Z
字数 2610
阅读 2538
未分类
CNPM 是一个Nodejs的库,由国内Alibaba团队开发维护,致力于打造私有的 NPM 注册服务。当然,除了私有库功能以外,CNPM官网 (http://cnpmjs.org/) 还提供了NPM同步的服务。
Centos7.2
Nodejs
Git
Mysql
准备命令:
yum -y install gcc make gcc-c++ openssl-devel wget
下载源码及解压:
wget http://nodejs.org/dist/latest-v6.x/node-v6.10.3.tar.gz --no-check-certificate
tar -zvxf node-v5.9.1.tar.gz
编译及安装:
cd node-v6.10.3
设置环境:
./configure --prefix=/opt/nodejs
编译安装:
make && make install
注意: 在使用“make && make install”命令,可能会报错,需要更新g++版本:
yum -y update gcc
yum -y install gcc+ gcc-c++
g++错误:
‘nullptr’ was not declared in this scope
需要升级GCC至少到4.8,让它可以编译C++11,参考 **G++升级 **章节
设置全局变量:
ln -s /opt/nodejs/bin/node /usr/local/bin/node //前面的路径为实际的安装路径
ln -s /opt/nodejs/bin/npm /usr/local/bin/npm
这样以后在任何路径下都可以执行node和npm命令了。
验证是否安装配置成功:
node -v
CNPM由国内Alibaba团队开发维护。
git clone https://github.com/cnpm/cnpmjs.org.git $HOME/cnpm
cd $HOME/cnpm
安装数据库(需要root用户)
CentOS7默认数据库是mariadb,本次安装我们将其修改为mysql,但是CentOS7 yum源中默认是没有mysql的,为了解决这个问题,我们要先下载mysql的repo源。
下载mysql的repo源
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
创建数据库
cd $HOME/cnpm
mysql -u yourname -p
mysql> create database cnpm
导入表
mysql> use cnpm;
mysql> source docs/db.sql
vi $HOME/cnpm/config/index.js
找到database行,修改用户名,密码,方言:
database:{
db: ‘cnpm’,
username:’root’,
dialect:’mysql’
}
修改以下两个变量:
enablePrivate: true,
syncModel:'exist' //none, all, exist
外网访问设置:
bindingHost:'127.0.0.1', // 设置指定外网IP,默认是127.0.0.1
cd $HOME/cnpm
npm install
npm run start
远程服务的端口:
curl http://localhost:7001 //这是提供远程服务的端口
浏览器访问端口:
curl http://localhost:7002
/sbin/iptables -I INPUT -p tcp --dport 7001 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 7002 -j ACCEPT
/etc/rc.d/init.d/iptables save
/etc/rc.d/init.d/iptables restart
npm --registry http://192.168.25.51:7001/ info underscore
保
安装cnpm客户端
npm install -g cnpm
指定服务器私服库IP,打开.cnpmrc文件,添加如下:
registry=http://192.168.3.244:7001 //192.168.3.244是服务器私服库IP
.cnpmrc文件位置在C:/Users/段志军/.cnpmrc(以具体环境而定)
校验cnpm,安装grunt包
cnpm install grunt
由于cnpm默认同步时间差是30分钟,如果想马上同步,需要手动输入同步的命令,同步grunt包。
cnpm sync grunt
同步过的grunt组件,存放在服务器私服库的nfs目录下:
/root/.cnpmjs.org/nfs
wget http://gcc.skazkaforyou.com/releases/gcc-4.8.2/gcc-4.8.2.tar.gz
tar -zvxf gcc-4.8.2.tar.gz;
./contrib/download_prerequisites
脚本文件会帮我们下载、配置、安装依赖库。
mkdir gcc-build-4.8.2
cd gcc-build-4.8.2
./configure –enable-checking=release –enable-languages=c,c++ –disable-multilib
–enable-languages表示你要让你的gcc支持那些语言,–disable-multilib不生成编译为其他平台可执行代码的交叉编译器。–disable-checking生成的编译器在编译过程中不做额外检查,也可以使用–enable-checking=xxx来增加一些检查;
make
注意此步和上一步,比较耗时;
make install
gcc -v;或者g++ -v,
如果显示的gcc版本仍是以前的版本,就需要重启系统;或者可以查看gcc的安装位置:which gcc;然后在查看版本 /usr/local/bin/gcc -v,通常gcc都安装在该处位置,如果显示为;