我使用nvm下载了节点v0.4.10,并安装了npm来使用该版本的节点。

我正在尝试安装快速使用

npm install express -g

我得到一个错误,express要求节点版本>= 0.5.0。

好吧,这很奇怪,因为我在这里遵循的是使用节点v0.4.10的node+express+mongodb教程的说明,所以我假设express对节点v0.4.10可用。如果我的假设是正确的,我如何告诉npm获取一个版本,将与我的设置工作?


当前回答

你可以使用下面的命令更新你的NPM包:

NPM安装<package_name>@<version_number>

例子: NPM安装yargs@12.0.2

其他回答

在我看来,这是最简单和最快的方法:

$ npm -v

4.2.0

$ NPM install -g npm@latest-3

...

$ npm -v

3.10.10

首先删除旧版本,然后逐字运行以下命令:

npm install express@3.X

or

npm install express@4.X

以及稳定的或近期的

npm install -g npm@latest    // For the last stable version
npm install -g npm@next      // For the most recent release

我有一种解决这类问题的通用方法,这也很有帮助,特别是在克隆存储库以在本地运行它们时,但需要对版本进行更多的分析。

使用npm-check-updates包,我验证包的版本(根据包。Json文件),这些文件没有在其最新可用版本中声明,如图(https://www.npmjs.com/package/npm-check-updates): . Json文件)所示

有了这些信息,我们可以验证不同包的更新状态,并决定升级/降级哪些包,哪些包不升级。

假设我们决定更新所有列出的包,我们可以使用ncu -u命令,该命令只修改您的包。json文件。运行npm install来更新你安装的包和package-lock.json。

然后,根据存储库的需求,我们可以细化所需的内容,使用 NPM视图<package>版本和NPM安装<package>@<version>

如果您必须安装一个包的旧版本,只需指定它

npm install <package>@<version>

例如:npm install express@3.0.0

您还可以向该命令添加——save标志,将其添加到包中。Json依赖项,或者——save——save-exact标志,如果你想在你的包中指定确切的版本。json依赖性。

安装命令的文档在这里:https://docs.npmjs.com/cli/install

如果您不确定可用的包的版本,您可以使用:

npm view <package> versions

npm视图也可以用来查看包的其他内容。https://docs.npmjs.com/cli/view

如果你想安装准确的版本,使用npm config set save-exact=true