npm与Node版本号的区别

14

我刚刚下载了最新版本的node.js,在撰写本文时版本号为8.11。

然而我的npm版本号还停留在5.x,所以我运行了
npm install -g npm

现在,当我运行npm -v时,我看到的是6.1.0

Node和npm的版本号通常不同吗?


4
@Downvoter,这篇文章不应该被点踩。像我们这样来自不同背景的人,比如VS.NET,可能不知道有一个与Node.js不同的npm。 - Irf
1
作为另一位VS.Net开发人员,我花了一些时间才明白当你谈论npm时,实际上并不是指我们每天使用的Nuget包管理器,而是指Node包管理器 :-P - Neville
2个回答

18

NPM(Node Package Manager)是官方的Node软件包管理器。因此NPM会随着Node一起下载,但它们是两个完全不同的软件,并会分别进行开发。


为什么Angular只需要几个特定版本的npm,但需要大量的node版本?我认为目标至少应该是与给定版本的nodejs一起提供的npm版本相匹配。我有一个案例,其中Angular要求node> 10(使用16),但npm是6。我有npm 8。 - Brian Reinhold
@BrianReinhold Node是运行Javascript的引擎。NPM安装依赖项并设置您的项目。如果Angular只需要Node 10附带的Javascript功能,或者使用转换器启用该复古兼容性,则仅需要Node 10或更高版本。但是,如果他们的安装过程需要来自NPM 6+的某些功能,则需要用户(您)拥有该版本。由于任何人都可以安装任何NPM版本(npm i -g npm@version),因此它们可以分开。 - Seblor

3

Node.js和npm的版本号通常不同吗?

简单来说,是的,它们并不相同 - NPM是一个包管理器,而Node是一个运行时环境,两者都是独立开发的,具有不同的发布周期。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接