最近有项目开始用 ES6 去写 Node。
跟别的项目一样,为了使开发环境和生产环境尽可能地保持一致,我们使用 Vagrant 去做开发环境,但是在写 node 安装脚本的时候却遇到了一个比较头疼的问题。
在以前 Node 0.x 的时候,只需要通过 yum install -y nodejs
就可以把 Node 安装好了。但是 yum 安装的 Node 只能安装到 0.10.40 版的,并不能安装到 4.2.2,这就无法愉快地写 ES6 了。
我尝试过通过编译源码的方式去做,但耗时太长了。
我尝试通过二进制文件去安装,但是在配置环境变量那里遇到了些问题。
不知道大家是怎么在 CentOS 里优雅地安装 Node 4.2.2 的呢?
// 竟然有人踩我的回答,真是无语了
// 难道用n来管理node版本很丑陋?
// centos6.5 最近有bug不能安装0.10以上版本,没有很好的解决方案难道说错了?
// https://github.com/nodesource/distributions/issues/128 -> 估计踩得人不看issues列表吧,呵呵。
centos6.5以上有个bug,node不能安装到0.10以上的,我在github的issue上看了很多人都报了这个bug,暂时也没有好的解决方案
我之前一直用n来安装node版本的,之前安装了4.x的版本,但是由于有那个bug,所以切换之后不能使用,然后我就把原始的0.10的node卸载掉了。。很神奇的是,竟然可以用4.x的版本
应该算是误打误撞的优雅安装成功了node。
我用了 nvm
去管理:
# curl -o node-4.2.2.tar.gz https://nodejs.org/dist/v4.2.2/node-v4.2.2-linux-x64.tar.gz # tar -zxvf node-4.2.2.tar.gz -C /opt # mkdir /opt/npm-path # mkdir /opt/npm-path/npm-global # mkdir /opt/npm-path/npm-cache # echo 'export NODE_HOME=/opt/node-v4.2.2-linux-x64 export PATH=${NODE_HOME}/bin:${PATH}'>/etc/profile.d/node.sh # echo 'export NPM_PATH_GLOBAL=/opt/npm-path/npm-global export NPM_PATH_CACHE=/opt/npm-path/npm-cache export PATH=${PATH}:${NPM_PATH_GLOBAL}/bin:${NPM_PATH_CACHE}'>/etc/profile.d/npm.sh # chmod +x /etc/profile.d/node.sh # chmod +x /etc/profile.d/npm.sh # source /etc/profile.d/node.sh # source /etc/profile.d/npm.sh # exit # npm config set prefix /opt/npm-path/npm-global # npm config set cache /opt/npm-path/npm-cache # node -v # npm -v
yum装一个docker 再把自己做的镜像放进去?
用nvm
看github的介绍就行。能直接下载使用最新的node版本。也能自由在各个版本之间切换。
还不用自己配置路径啥的。也可以设定默认启动的node版本。
你值得拥有~
正好我刚装完curl -sL https://rpm.nodesource.com/setup_4.x | bash -