前言
由于工作需要 node,所以在 centos7 上安装 nodejs,其间入了几次坑,现在将实践中的几种方式记录,备忘。
node 二进制安装
进入 nodejs 官网下载页面,https://nodejs.org/en/download/
上图中可见,nodejs 官方分为两大分支,LTS 为长期支持分支,Current 为最新更新分支,具体信息大家可以百度,我这里不做重述。
我这里选择 Linux Binaries (x86/x64) x64 二进制包 https://nodejs.org/dist/v8.12.0/node-v8.12.0-linux-x64.tar.xz
下载二进制压缩包:
cd /usr/local/src
wget https://nodejs.org/dist/v8.12.0/node-v8.12.0-linux-x64.tar.xz
解压缩包:
xz -d node-v8.12.0-linux-x64.tar.xz
tar -xvf node-v8.12.0-linux-x64.tar.xz
mv node-v8.12.0-linux-x64 /usr/local/node
到此为止,nodejs 就算是安装好了一半,可以执行如下命令测试:
/usr/local/node/bin/node -v
上面虽说可以使用了,可是每次运行都加上 /usr/local/node/bin/
有点难受,所以我们接下来配置环境变量,打开 /etc/profile
,在最下面加入如下代码:
vi /etc/profile
# set for nodejs
export NODE_HOME=/usr/local/node
export PATH=$NODE_HOME/bin:$PATH
是刚刚配置的环境变量生效:
source /etc/profile
验证环境变量是否配置好:
node -v
npm -v
执行以上操作后,nodejs 算是安装好了,但是当试图安装一个全局包的时候你可能会遇到 EACCES 错误。这个错误表明你没有当前 npm 用来存储全局包命令目录的写权限。
可以通过下面两种方式之一来修复解决这个问题:
方式一:修改 npm 默认目录的权限
找到 npm 目录路径:
npm config get prefix
大多数系统,目录一般是 /usr/local
警告: 如果路径显示的是 /usr,直接采用方式二:修改 npm 默认目录的位置
修改 npm 目录的拥有者为当前用户:
sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
使用这个命令同时修改了 npm 下面子目录和其他工具命令(lib/node_modules,bin,and share)
方式二:修改 npm 默认目录的位置
有时候并不希望修改 npm 默认目录的拥有者,因为这样可能会导致一些其他不可预期的问题,所以我们可以采用修改 npm 目录位置。
我这里使用的是用户根目录下面创建隐藏目录:
创建一个目录用于全局包安装:
mkdir ~/.npm-global
配置 npm 使其使用新的目录:
npm config set prefix '~/.npm-global
打开或者新建~/.profile 文件,并添加目录路径
export PATH=~/.npm-global/bin:$PATH
更新系统变量:
source ~/.profile
测试,下载一个 cnpm:
npm install -g cnpm --registry=https://registry.npm.taobao.org
**ps:**更多关于 cnpm 的信息请查看 https://npm.taobao.org/
到目前为止就完成了 centos7 上 nodejs 基于官方二进制包的安装
NVM 安装
NVM(Node version manager)顾名思义,就是 Node.js 的版本管理软件,可以轻松的在 Node.js 各个版本间切换
安装 nvm:
curl https://raw.githubusercontent.com/creationix/nvm/v0.13.1/install.sh | bash
source ~/.bash_profile
查看可以安装的版本:
nvm list-remote
安装:
nvm install [版本号]
查看已安装的版本:
nvm list
切换版本:
nvm use [版本号]
设置默认版本:
nvm alias [版本号]
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于