如何在17.10上安装npm?


11

我只是想通过终端安装npm,现在我只是受一些依赖。

它要我安装一些依赖项,例如:

libssl1.0-dev
nodejs-dev
node-gyp

即使我尝试先安装这些,它也告诉我之前需要先安装它们。

依赖的最后一个实例是libssl-dev并且似乎已经安装。

目标是安装npm以使此电子叉子在我的系统上运行。

感谢您的帮助。


@karel意味着我没有机会在17.10上安装它,我又被迫再次降级到16.04?
丹尼斯(Deniz)'18年

兄弟,我只是想知道如何在我的系统上安装npm。由于我在第一条评论中写的问题,我不能简单地使用“ sudo apt install npm”。
丹尼兹(Deniz)'18年

Answers:


9

注意:此答案自首次发布以来已得到更新,因为现在有了一种更好的方法来安装最新版本的npm,该版本内置了用于安装Node.js的节点快照程序包。运行以下命令后,运行npm -v将显示已安装并正在使用最新版本的npm。


在当前所有受支持的Ubuntu版本中,Node.js均作为快照包提供。特定于Node.js的开发人员可以从一个或多个当前受支持的版本中进行选择,并直接从NodeSource获得定期的自动更新。Node.js版本6、8、9、10、11、12和13当前可用,并且Snap Store在Node.js版本发布后的数小时或数分钟内进行了更新。

可以使用单个命令来安装节点,例如:

sudo snap install node --classic --channel 11/stable # also install snapd in 14.04 

可以通过以下命令访问节点快照node,例如:

$节点-v  
v11.5.0

作为节点快照的一部分,将安装npm的最新版本。npm应该在常规shell中的节点repl外部运行。安装节点快照后,运行以下命令以启用npm更新检查:

须藤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(节点版本管理器),例如:

sudo snap refresh node --channel=10/stable

用户可以通过以下方式测试可从最新边缘通道安装的最新版本的Node.js:该通道当前正在跟踪Node.js版本12:

sudo snap switch node --edge

仅建议那些愿意参与上游测试和错误报告的用户使用此方法。

Node.js LTS时间表

发行LTS状态代号LTS开始维护开始维护结束
6.x活性硼2016-10-18 2018年4月2019年4月
7.x无LTS              
8.x活性炭2017-10-31 2019年4月2019年12月
9.x无LTS              
10.x活动版圣经2018年10月2020年4月2020年4月20日  
11.x否LTS 2019-04-01 2019-06-30
12.x 2019-10-22 2021-04-01 2022-04-01
13.x否LTS 2020-04-20 2020-06-01


Snap软件包对于SSD来说很糟糕。它们经常进行更新,从而导致磁盘上的大量读/写操作,这对于SSD的使用寿命而言并非最佳选择。我尽量避免他们。Snaps还存在安全性问题,因此请小心。
塞斯·伯格曼

2

我遇到过同样的问题。libssl很麻烦,因为许多软件包都需要它的不同版本。对我而言,最大的麻烦制造者是Spotify,Viber,DotNet Core,php5.6(旧系统)。

无论如何,此解决方案似乎已经起作用:

根据Jonathan Leaders的回答,如果您查看正在下载的脚本,则会看到它提到2个关键点:存储库和密钥。

由于某些原因,仅运行这些命令后,nodejs仍指的是Ubuntu官方存储库中的命令,它是一个旧版本,对libssl的要求存在冲突。

手动添加它们以获得可靠的结果(作为根用户):

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



1

n安装

Node和npm安装了一行bash

在类似Unix的平台上安装 Node.js版本管理器n,而无需先安装Node.js。此外,安装脚本n-update以便以后按需更新nn-uninstall卸载。

最简单的情况是安装n并带有确认提示,并随后安装最新的LTS Node.js版本:

curl -L https://git.io/n-install | bash

到目前为止,这是同时使用n和Node.js的最简单方法-即使您只想安装最新的LTS(长期支持)Node.js版本,也没有(立即)计划安装多个版本。版本。最好的部分是您可以动态更新节点版本。它一定是我最喜欢的节点工具。NVM相似,但是n我更喜欢。


0

另外,您可以使用NVM。这是一个节点版本管理器,它允许以非常简单的方式在不同的节点版本之间切换。只需运行以下命令:

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:

https://github.com/creationix/nvm


如果安装了Node.js snap软件包,则可以在不同版本的Node.js之间切换,而无需使用其他工具(例如nvm)。
karel

这是一个很好的问题。我不相信您可以这样做,因为快照的核心原理是拥有该软件的最新版本,该版本与文件系统的其余部分隔离。
塞斯·伯格曼
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.