更新ubuntu软件源
# Ubuntu 16.04 TLS,执行以下命令:
sudo apt-get update
sudo apt-get install -y python-software-properties software-properties-common
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
# Ubuntu 18.04 TLS,执行以下命令:
sudo apt-get update
sudo apt-get install -y software-properties-common
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
查看ubuntu版本:
lsb_release -a
完整卸载掉node和npm
#apt-get 卸载
sudo apt-get remove --purge npm
sudo apt-get remove --purge nodejs
sudo apt-get remove --purge nodejs-legacy
sudo apt-get autoremove
#手动删除 npm 相关目录
rm -r /usr/local/bin/npm
rm -r /usr/local/lib/node-moudels
find / -name npm
rm -r /tmp/npm*
安装nodejs
# Ubuntu 16.04 TLS,执行以下命令:
sudo apt-get install nodejs
sudo apt install nodejs-legacy
sudo apt install npm
# Ubuntu 18.04 TLS,执行以下命令:
sudo apt-get install nodejs
sudo apt install libssl1.0-dev nodejs-dev node-gyp npm
更新npm的包镜像源,方便快速下载
sudo npm config set registry https://registry.npm.taobao.org
sudo npm config list
全局安装n管理器(用于管理nodejs版本)
sudo npm install n -g
安装最新的nodejs(stable版本)
# 安装最新的nodejs(stable版本)
sudo n stable
# 安装指定版本的nodejs(5.1.0)
sudo n 5.1.0
验证安装
sudo node -v
sudo npm -v
安装完最好重启一下:sudo reboot
或者重启shell
Q & A
1. apt-get update找不到文件
// error code
W: The repository 'http://ppa.launchpad.net/chris-lea/node.js/ubuntu xenial Release' does not have a Release file.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
E: Failed to fetch http://ppa.launchpad.net/chris-lea/node.js/ubuntu/dists/xenial/main/binary-amd64/Packages 404 Not Found
E: Some index files failed to download. They have been ignored, or old ones used instead.
修改node相关文件:/etc/apt/sources.list.d/chris-lea-ubuntu-node_js-xenial.list
deb http://ppa.launchpad.net/chris-lea/node.js/ubuntu trusty main
deb-src http://ppa.launchpad.net/chris-lea/node.js/ubuntu trusty main
2. SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode
网上查找资料是因为版本过低,升级node和npm(暂未核对!)
来源: https://www.cnblogs.com/schips/p/12402412.html
3. curl: (56) GnuTLS recv error (-54): Error in the pull function.
原因:由于git默认缓存大小不足导致的。
解决:git config --global http.postBuffer 20000000
这里其实重点是下面的原因,这里陪陪增大了git需要的内存空间,会导致git clone或者git pull等命令因内存不足报错。
- cp: cannot stat ‘/usr/local/n/versions/node/12.18.3/lib’: No such file or directory
原因:未知
解决:cd /usr/local/n/ rm -rf versions