为什么我的 Ubuntu 机器上安装了旧版本的 Nodejs

为什么我的 Ubuntu 机器上安装了旧版本的 Nodejs

我在我的 Ubuntu 上安装了 Nodejs:

$ cat /etc/os-release
NAME="Ubuntu"
VERSION="16.04.6 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.6 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
VERSION_CODENAME=xenial

使用以下命令:

sudo apt-get update
sudo apt-get install nodejs
sudo apt-get install npm

结果是:

$ nodejs -v
v4.2.6

我在互联网上看到了很多更新的版本https://nodejs.org/en/download/releases/。 所以,

  1. 为什么默认安装这么旧的版本
  2. 如何安装较新的版本?

谢谢你!

答案1

4.2.6确实是 Xenial 存储库中的 Node 版本。Ubuntu 不会对同一发行版中的软件包进行主要版本更新,因此如果 Xenial 发布时(即 2016 年 4 月,听起来差不多——应该是当时的 LTS 版本)使用的是 Node 4,那么在升级发行版之前,您只能在 Xenial 的整个生命周期内使用版本 4。

至少,使用官方存储库时情况如此。幸运的是,确实存在一个更新的 Node 存储库,并且 Node 官方网站上推荐了它。您可以找到详细说明这里,但 tl;dr 是:

curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodejs

答案2

Ubuntu 有此版本的 nodejs,因为它是 LTS 版本之一(长期支持),并且非常稳定。

有几种不同的方法来安装较新的版本。我建议通过 nvm 安装,这样你就可以访问最新版本。此外,如果你要在多个系统上进行开发,而不是将其留给系统包管理器,这样做会有所帮助。为此,首先删除当前版本

sudo apt-get remove nodejs

为了确保它被完全删除,你可以sudo apt-get purge nodejs这样做sudo apt-get autoremove

现在我们可以准备使用 npm 了,安装build-essentiallibssl-dev

sudo apt-get install build-essential libssl-dev

现在我们可以从项目的 Github 页面下载 nvm 安装脚本

curl -sL https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh -o install_nvm.sh

使用以下命令运行安装脚本

bash install_nvm.sh

此时最简单的方法是注销,然后重新登录以完成 npm 的设置。

现在我们可以使用以下命令来安装目标nodejs版本

npm ls-remote显示可用的版本

npm install (versionNumber)

npm use (versionNumber)您可以安装多个版本,以便选择使用哪个版本

然后验证您选择使用的版本

node -v<- 请注意,npm 的命令是 node 而不是 nodejs

Digital Ocean 上有一篇关于这一切的精彩文章。有关更多信息,请访问链接https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-ubuntu-16-04

相关内容