如何安装 Node.js LTS 版本的 npm?

如何安装 Node.js LTS 版本的 npm?

我不明白为什么整个网络上没有简单的方法或解释如何做到这一点。使用 Node 版本sudo apt install npm安装,但我想安装 LTS 版本()npm10.19.016.13.0

我尝试按照以下步骤更新到 Node 的 LTS 版本:

npm install n -g
n stable

它似乎确实安装了 LTS 版本,但旧版本并未被删除,Ubuntu 仍然使用版本10.19.0

那么我如何使用 LTS Node 安装 npm,或者至少安装 LTS 版本并让 Ubuntu 使用此版本而不是旧版本?

答案1

在 ubuntu 21.04 上将 Node.js v14.4.0 升级到 v16.13.2

如果你最近将 Ubuntu 升级到 21.04,则可能必须将 Node.js 升级到最新版本。请按照以下步骤操作

check nvm list 
$: nvm list

升级到 node.js 16.13.2

$: nvm install 16.13.2

安装后,通过检查版本

$: node -v

希望这可以帮助 :)

答案2

更新:所以我设法更改了版本。您需要在前两个命令后添加以下命令:

sudo n 16.13.0

情况是这样的:

npm install n -g
n stable
sudo n 16.13.0

现在我终于明白了:

user@ubuntu:~$ node -v
v16.13.0

也许这会对我这样的新手有所帮助

答案3

只是使用 nvm安装和管理 Node/npm 版本。当你处理多个项目时,你肯定会在不同版本的 Node 之间切换,而 nvm 可以顺利处理。我甚至可以说这是最佳实践。

在 bash 中,你可以像这样安装 nvm:

wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash

# when wget finishes, restart terminal and run this:
nvm install --lts && nvm use --lts

编辑:使用n 包也可以。nvm 和 n 都完成相同的任务。

答案4

一个月前我自己也遇到了这个问题。我也不明白为什么一个仍然积极支持的 Ubuntu 版本会包含不受支持的 Node 和 npm 版本。最后我意识到,除了想要同时安装多个版本(例如 LTS 实际上并没有指定单个版本 - v16​​ 是“活动 LTS”,v14 和 v12 目前都是“维护 LTS”,并且 v16 附带的 npm 版本使用的 lockfileVersion 与几周前安装 LTS Node 的人使用的 lockfileVersion 不同)之外,我更愿意使用没有超级用户权限的 npm 安装数千个依赖项。

由于您觉得在来这里之前已经浏览了整个网络,因此您可能在评论中也找到了 Node 下载页面,但(像我一样)不想手动检查安全更新,也不想在发布不安全的版本后继续使用它们。Node 确实记录了如何执行此操作在下载页面底部提到的页面中. 你可能已经找到了npm 安装说明,尽管使用其中一个指令而不使用另一个指令会很困难,但它们部分地与 Node 指令不一致。

如果你喜欢 Snap然后你就可以使用它们了。由于这是专门为 Ubuntu 列出的唯一选项,所以我从这个开始,但我不喜欢将 snap 安装为单独的挂载并使我的 df 输出混乱的方式。当我需要比较不同的版本时,我想我放弃了,并且再次推荐了 nvm。

n也是在包管理器页面中提到但是我不喜欢为了安装我想要的版本管理器而需要安装不同版本的 npm 的循环。

正如另一个答案所建议的那样,我最终用nvm。它会为您下载并选择各种版本的 node,并有选项将 npm 升级到比 Node 附带的版本更新的版本。它知道哪些是 LTS 版本,并允许您通过代号或版本号区分它们。但是,它是一个 shell 脚本,如果您使用非 POSIX shell,这会使事情变得更加困难。它没有 Ubuntu 或 Debian 软件包,但他们有使用说明git 安装这使得升级变得更加容易。

您抱怨apt使用 时仍然安装了 Node 版本n。如果您使用 apt 安装依赖于 Node/npm 的其他程序,这可能会出现问题,因为 apt 可能会找到“系统版本”,而不是使用 安装的较新版本n。来自 Python 世界,这就是我从不使用 安装的原因pipapt我会创建虚拟环境并在其中使用 pip。如果我尝试pip install在虚拟环境之外执行某些操作,则会失败,因为没有系统pip可以安装。我使用apt安装不同的 Python 版本并从中获取 pip。

相关内容