linux 中安装 nodejs

安装 nvm

需要有 curl 程序支持,请先安装。

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.4/install.sh | bash
# 安装全后要重新打开新会话

参考:https://github.com/creationix/nvm

arch/manjaro 安装 nvm

yay -S nvm
echo "source /usr/share/nvm/init-nvm.sh" >> ~/.bashrc
echo "source /usr/share/nvm/init-nvm.sh" >> ~/.zshrc

使用 nvm 安装 node

# 安装最新版
nvm install node
# 安装 v16
nvm install v16
# 查看所有可安装版本
nvm ls-remote
# 查看已安装版本
nvm ls


安装这个NVM有什么好处呢?我觉得最大的好处就是你可以安装多个版本的node到你的系统里。比如现在node有4.2稳定版和最新的6.2版本,6开头的版本支持最新的ES6,如果你想体验ES6,那你不得不安装这个版本了,可是你升级到6开头的版本会发现你原先的一下包会无法使用。

是的,目前很多包还没有升级到6,所以NVM的作用显得非常有用了,直接一条命令就可以切换到4开头的版本。

nvm use 4
# 或者你可以
nvm run node --version

当然你得先安装4开头的node,现在NVM默认安装6开头的了,所以你要手动安装4开头的版本。

# 你需要指定版本,或者让nvm自己选择一个
nvm install 4.2

每次打开一个新的终端你必须手动指定一个node版本,这挺麻烦的,你可以使用命令设定默认的版本。

nvm alias default 4

部份引用自 https://zhouyuexie.github.io/ubuntu%E4%B8%ADnpm%E5%AE%89%E8%A3%85%E5%85%A8%E5%B1%80%E6%8F%92%E4%BB%B6%E6%8F%90%E7%A4%BA%E6%B2%A1%E6%9C%89root%E7%AE%A1%E7%90%86%E5%91%98%E6%9D%83%E9%99%90/

切换源

基于 nrm

# 安装
npm i -g nrm --registry=https://registry.npmmirror.com
# 如果运行 nrm 出现 ERR_REQUIRE_ESM 的错误,使用以下命令安装
npm i -g Pana/nrm
# 查看源
nrm ls
  npm ---------- https://registry.npmjs.org/
  yarn --------- https://registry.yarnpkg.com/
  tencent ------ https://mirrors.cloud.tencent.com/npm/
  cnpm --------- https://r.cnpmjs.org/
  taobao ------- https://registry.npmmirror.com/
  npmMirror ---- https://skimdb.npmjs.com/registry/
# 速度测试
nrm test
# 切换源
nrm use taobao
# 添加源
nrm add local http://192.168.0.10:8081/repository/npm

手动切换

来源 https://npm.taobao.org/

# 临时使用
npm install -g cnpm --registry=https://registry.npm.taobao.org
# 持久使用
npm config set registry https://registry.npm.taobao.org
npm config set sass-binary-site https://npm.taobao.org/mirrors/node-sass
npm config set electron-mirror=http://npm.taobao.org/mirrors/electron/
npm config set selenium-cdnurl=http://npm.taobao.org/mirrorss/selenium
npm config set chromedriver-cdnurl=https://npm.taobao.org/mirrors/chromedriver
# 配置后可通过下面方式来验证是否成功
npm config get registry

使用 yarn

npm i -g yarn
# 使用 淘宝镜像
yarn config set registry https://registry.npm.taobao.org -g
yarn config set sass-binary-site http://npm.taobao.org/mirrors/node-sass -g
yarn config set electron-mirror http://npm.taobao.org/mirrors/electron/ -g
yarn config set selenium-cdnurl http://npm.taobao.org/mirrorss/selenium -g
yarn config set chromedriver-cdnurl https://npm.taobao.org/mirrors/chromedriver -g

常见问题

问题1:

# 错误信息:
RequestError: pngquant failed to build, make sure that libpng-dev is installed

# 解决办法:
sudo apt-get install libpng-dev
npm install -g pngquant-bin
rm -rf node_modules
npm install

问题2:

npm 内下载太慢,添加代理

npm config set proxy http://127.0.0.1:90
npm config set https-proxy http://127.0.0.1:90

删除代理

npm config rm proxy
npm config rm https-proxy

问题3:

Error: ENOSPC: System limit for number of file watchers reached

修改 /etc/sysctl.conf 文件,在末尾增加一行:

fs.inotify.max_user_watches=524288

启用该配置:

sudo sysctl -p