Ubuntu中安装最新NodeJS和NPM

1. 更新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

2. 安装NodeJS和NPM

2.1 安装命令

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

2.2 更新npm的包镜像源,方便快速下载

sudo npm config set registry https://registry.npm.taobao.org
sudo npm config list

2.3 全局安装n管理器(用于管理nodejs版本)

sudo npm install n -g

2.4 安装最新的nodejs(stable版本)

sudo n stable

2.5 验证安装

使用下面的命令查看NodeJS和NPM的版本,若正确安装的话都可以看到相关的版本号信息。

sudo node -v
sudo npm -v

3. Q & A

3.1 验证安装查看的版本号时,加sudo和不加sudo的命令,结果不一样

这应该是终端或远程连接终端的缓存问题,加sudo命令看到的是最新的版本号,不加sudo命令看到的是前一安装版本的版本号,关闭相关终端或远程连接终端,然后重新连接即可解决这个问题。

3.2 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.

// A: 修改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

3.3 node -v异常

node -v
-bash: /usr/local/bin/node: Permission denied

sudo node -v
Segmentation fault (core dumped)

// A: 重新安装nodejs
手动移除 /usr/local/lib/node_modules整个目录
手动移除 /usr/local/bin/node
手动移除 /usr/local/bin/n
手动移除 /usr/local/bin/npm

3.4 Package 'software-properties-common' has no installation candidate异常

sudo apt-get install -y python-software-properties software-properties-common

E: Package 'python-software-properties' has no installation candidate

原因详见 https://askubuntu.com/questions/422975/e-package-python-software-properties-has-no-installation-candidate?rq=1 ,调整为sudo apt-get install -y software-properties-common即可

4. 参考资料

Ubuntu18安装最新版nodejs
https://blog.csdn.net/chenyao1994/article/details/82495163

Ubuntu16.04安装最新版nodejs
https://www.jianshu.com/p/2b24cd430a7d

你可能感兴趣的:(NodeJS)