我只是想通过终端安装 npm,但现在我只是遇到了一些依赖问题。
它要求我安装一些依赖项,例如:
libssl1.0-dev
nodejs-dev
node-gyp
即使我先尝试安装这些,它也告诉我之前需要先安装前一个。
依赖关系的最后一个实例是,libssl-dev
并且这似乎已经安装好了。
目标是安装 npm 来实现这一点电子叉在我的系统上运行。
谢谢你的帮助。
答案1
注意:此答案自首次发布以来已更新,因为现在有更好的方法来安装最新版本的 npm,它内置于用于安装 Node.js 的 node snap 包中。运行以下命令后,npm -v
将显示已安装并使用最新版本的 npm。
Node.js 以 snap 包的形式出现在所有当前支持的 Ubuntu 版本中。具体到 Node.js,开发人员可以从一个或多个当前支持的版本中进行选择,并直接从 NodeSource 获取定期自动更新。Node.js 版本 6、8、9、10、11、13、14、15、16、17 和 18 目前可用,Snap Store 会在 Node.js 发布后数小时或数分钟内更新。
Node 可以使用单个命令来安装,例如:
sudo snap install node --classic --channel 11/stable # also install snapd in 14.04
可以通过命令访问节点捕捉node
,例如:
$节点-v v11.5.0
最新版本的 npm 将作为 node snap 的一部分进行安装。npm 应该在 node repl 之外的常规 shell 中运行。安装 node snap 后,运行以下命令以启用 npm 更新检查:
sudo chown -R $USER:$(id -gn $USER) /home/您的用户名/.config
代替 your-username
在上面的命令中使用您自己的用户名。然后运行npm -v
以检查 npm 的版本是否是最新的。作为示例,我检查了 npm 是否是最新的,使用命令检查了已安装的名为 yarn 的包的版本npm list yarn
,然后使用命令将现有的 yarn 包更新为最新版本npm update yarn
用户可以随时在 Node.js 版本之间切换,而无需借助 nvm(Node 版本管理器)等额外工具,例如:
sudo snap refresh node --channel=10/stable
用户可以通过以下方式测试从最新边缘通道安装的 Node.js 的最新版本:
sudo snap switch node --edge
这种方法仅推荐给愿意参与上游测试和错误报告的用户。
Node.js LTS 计划
发布 | 地位 | 代码名称 | 初始发行 | LTS 开始 | 维护开始 | 维护结束 |
---|---|---|---|---|---|---|
6.x | 停产 | 硼 | 2016-04-26 | 2016-10-18 | 2018-04-30 | 2019-04-30 |
7.x | 停产 | 2017-05-30 | 2017-06-30 | |||
8.x | 停产 | 碳 | 2016-10-25 | 2017-10-31 | 2019-01-01 | 2019-12-31 |
9.x | 停产 | 2017-10-01 | 2018-06-30 | |||
10.x | 停产 | 钚 | 2018-04-24 | 2018-10-30 | 2020-05-19 | 2021-04-30 |
11.x | 停产 | 2018-10-23 | 2019-06-01 | |||
12.x | 维护 LTS | 铒 | 2019-04-23 | 2019-10-21 | 2020-11-301 | 2022-04-30 |
13.x | 停产 | 2019-10-22 | 2020-06-01 | |||
14.x | 维护 LTS | 镄 | 2020-04-21 | 2020-10-27 | 2021-10-30 | 2023-04-30 |
16.x | 主动长期支持 | 镓 | 2021-04-20 | 2021-10-26 | 2022-10-18 | 2024-04-30 |
17.x | 当前的 | 2021-10-19 | 2022-04-01 | 2022-06-01 | ||
18.x | 当前的 | 2022-04-19 | 2022-10-25 | 2023-10-18 | 2025-04-30 |
答案2
我遇到了同样的问题。libssl 很麻烦,因为很多软件包都需要不同的版本。对我来说,最麻烦的是 Spotify、Viber、DotNet Core、php5.6(旧系统)。
无论如何,这个解决方案似乎已经奏效:
根据 Jonathan Leaders 的回答,如果您查看正在下载的脚本,您会看到它提到了两个关键点:存储库和密钥。
出于某种原因,在运行这些命令后,nodejs 仍然引用官方 Ubuntu 存储库中的命令,并且它是一个旧版本,与 libssl 的要求有冲突。
手动添加它们以获得可靠的结果(以 root 身份):
echo 'deb https://deb.nodesource.com/node_9.x artful main' > /etc/apt/sources.list.d/nodesource.list
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -
apt-get update
之后,只需apt-get install nodejs
此后,您将拥有 npm,无需额外安装任何东西。
请注意,这将安装 Nodejs 9.0,但我确信相同的方法也适用于其他版本。您只需要在存储库源中切换版本号即可/etc/apt/sources.list.d/nodesource.list
答案3
首先查看此处最新的版本号: https://github.com/nodesource/distributions/tree/master/deb
在我们的例子中setup_9.x
sudo apt-get install python-software-properties curl
curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
sudo apt-get install nodejs
证明它现已安装
npm -v
来源:https://tecadmin.net/install-latest-nodejs-npm-on-ubuntu/
编辑:将“curl”添加到初始依赖项中。
答案4
另外,您可以使用 NVM。这是一个 Node 版本管理器,允许以非常简单的方式在不同的 Node 版本之间切换。只需运行以下命令:
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
command -v nvm
然后,重新打开终端并执行:
nvm install lts/*
这将下载 Nodejs 源代码并为您进行安装。
此外,NVM 的一个主要优点是能够安装全局包而无需使用sudo
如果你需要有关 NVM 的更多信息,请查看其 Github Repo: