如何优雅地在 CentOS 里安装 Node v4.2.2?

最近有项目开始用 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 的呢?

阅读 10k
6 个回答
# 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

用nvm

https://github.com/creationix/nvm

看github的介绍就行。能直接下载使用最新的node版本。也能自由在各个版本之间切换。

还不用自己配置路径啥的。也可以设定默认启动的node版本。

你值得拥有~

yum装一个docker 再把自己做的镜像放进去?

我用了 nvm 去管理:

clipboard.png

// 竟然有人踩我的回答,真是无语了
// 难道用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。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题