如何更改为旧版本的Node.js


427

v0.5.9-pre在Ubuntu 10.10上运行Node.js版本。

我想使用version v0.5.0-pre

如何回滚到旧版本的节点?


我意识到这是一个老问题,但如果有人是用自制的,看看这个问题:stackoverflow.com/questions/3987683/...
blong

如果您只想测试旧版本的node软件包,则值得一提的是,您可以将其安装为本地可执行文件。例如,V12.1: npm i --no-save node@12.1。你可以像当前文件夹中运行它./node_modules/node/bin/node .。缺点是您不能/不应该在全球范围内安装它。
geekley

Answers:


478

一种方法是使用NVM,即节点版本管理器。

使用以下命令获取nvm

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash

您可以在https://github.com/creationix/nvm上找到它

它使您可以轻松安装和管理节点的多个版本。这是帮助的摘录:

Usage:
nvm install <version>       Download and install a <version>
nvm use <version>           Modify PATH to use <version>
nvm ls                      List versions (installed versions are blue)

2
服务器重新启动后,它将取消设置nvm,我必须告诉它再次开始使用特定版本。即使在设置之后,nvm alias default v0.5.0您是否也会知道重启后如何维护它?
JD Isaacks 2011年

3
这就是我所做的-来自文档:“要激活nvm,您需要从bash shell中获取它。〜/ .nvm / nvm.sh我总是将此行添加到我的〜/ .bashrc或〜/ .profile文件中使其在登录时自动获得资源。通常,我还会在一行中使用特定版本的节点。”
David EGP

2
这个对我没有用。始终缝制为相同版本。github.com/tj/n对我来说更好,更简单。
佩德罗·鲁兹

1
您也可以.nvmrc在目录中包含要使用的版本说明文件。然后只制造nvm use而不关心任何东西
Sergei Panfilov

1
我尝试了nvm很多,发现它不是很直观。只需尝试下面的* NIX,即可立即安装和切换版本而不会出现错误。
David Rhoderick '16

514

* NIX(Linux,OS X等)

使用n,这是一个非常简单的Node版本管理器,可以通过npm安装。

假设您要Node.js v0.10.x来构建Atom

npm install -g n   # Install n globally
n 0.10.33          # Install and use v0.10.33
Usage:
n                            # Output versions installed
n latest                     # Install or activate the latest node release
n stable                     # Install or activate the latest stable node release
n <version>                  # Install node <version>
n use <version> [args ...]   # Execute node <version> with [args ...]
n bin <version>              # Output bin path for <version>
n rm <version ...>           # Remove the given version(s)
n --latest                   # Output the latest node version available
n --stable                   # Output the latest stable node version available
n ls                         # Output the versions of node available

 

视窗

使用nvm-windows,类似于nvm,但用于Windows。下载并运行安装程序,然后:

nvm install v0.10.33         # Install v0.10.33
nvm use v0.10.33             # Use v0.10.33
Usage:
nvm install [version]        # Download and install [version]
nvm uninstall [version]      # Uninstall [version]
nvm use [version]            # Switch to use [version]
nvm list                     # List installed versions

7
是的,在Windows上没有运气。我使用npm安装了nvmw,它完成了工作!> npm install -g nvmw
雨果席尔瓦

4
nvmw不再维护
Joe Lloyd

4
n use vesion无法全局更改节点版本。只是一次更改。
戴开宪

3
应编辑此答案以删除Windows部分,不再支持nvmw。在Windows 10上使用它的任何尝试都会产生“错误:系统无法找到指定的注册表项或值。”
ohsully

1
在Ubuntu上开箱即用。n 9.6.0声称它已安装9.6.0,但node -v仍显示9.6.1。
Dan Dascalescu

71

如果不使用扩展名就可以使用任何扩展名:)

安装特定版本的节点

sudo npm cache clean -f
sudo npm install -g n
sudo n stable

特定版本:sudo n 4.4.4代替sudo n stable


11
显然n在Windows上不支持。
jfriend00

在ubuntu上,发生以下错误:npm WARN using --force我肯定希望您知道自己在做什么。
哈伦·陈

1
@HarlanChen这不是错误。这是一个警告。您可以忽略它。
Pankaj

2
不是n扩展吗?当您npm install -g n安装扩展时...
Aljosha Novakovic

请忽略该sudo部分。你不应该这样做
kreig303

55

视窗:

降级您的节点。

npm install node@<version>
 ex: npm install node@8.10.0

降级您的npm。

npm install -g npm@<version>
 ex: npm install -g npm@3.10.10

注意关闭所有正在运行节点的窗口。浏览器,编辑器等。

您需要先安装节点。并且,如果已经安装,则可以降级node和npm的版本,只需运行上述命令即可。如果仍然没有运气并且没有成功更新节点。尝试这个。尝试全局安装节点。例如:

npm install -g node@8.10.0

在这里要考虑的另一件事是,如果您正在寻找最新版本的npm,请尝试更新npm。跑

npm install npm@latest -g

苹果电脑

注意:对于Mac,这些相同的命令应该起作用。希望这能解决。


19
令人沮丧的是,这不会更改我的节点版本。
阿莫斯(Amos Long)

3
我尝试了这种方法,但没有成功。起作用的是从“添加或删除程序”单元中卸载节点程序包。然后,从节点网站下载所需版本。
Alberto S.19年

我使用的是Mac,我不需要添加sudo,因此只需键入npm install -g node@8.12.0就可以了
Giorgio Tempesta

1
非常感谢!这种方法有助于将node@10.17.0安装到我的项目中,然后让我成功安装Realm@3.4.0。在此之前,我尝试了许多不同的方法,但是仍然无法在Windows上为React-Native项目安装最新的Realm。
garykwwong


12

我发现的最简单的方法是只使用nodejs.org网站:

  1. 转到https://nodejs.org/en/download/releases/
  2. 找到所需的版本,然后单击下载
  3. 在Mac上,单击.pkg可执行文件,然后按照安装说明进行操作(不确定Windows正确的可执行文件是什么)
  4. 现在您在所需节点的版本上就很高兴

1
到目前为止,最简单的选择!
华盛顿先生,

2
在Windows上:msi不会降级节点版本。它只是普通的出口。
伯纳德

9

nvmw不再维护,但我发现了另一个似乎是最新的来源(截至1/4/17)。

nvm-windows

有用。允许我降级到6.3.1


8

官方方式(Ubuntu)

如果您在节点12上并想降级到节点10,只需删除节点并按照所需版本的说明进行操作:

# Remove the version that is currently installed
sudo apt remove -y nodejs

# Setup sources for the version you want
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -

# (Re-)Install Node
sudo apt-get install -y nodejs

视窗

我发现自己想从最新版本降级到Windows上的LTS。如果您没有使用Chocolatey等软件包管理器或nvm或n等节点版本管理器,只需下载.msi所需版本的并安装。您可能要通过Windows中的“添加或删除程序”工具删除当前安装的版本。

巧克力味

我强烈建议使用Chocolatey,以便轻松地使安装保持最新状态,这是在Windows上安装Node.js的常用方法。在安装LTS版本之前,我必须删除最新版本:

choco uninstall nodejs

choco install nodejs-lts

package.json

确保您的程序用户使用正确的版本

您可以将其添加node为依赖项,package.json并控制用于特定项目的版本。执行package.json“脚本”后,npm(和yarn)将使用该版本运行脚本,而不是全局安装的Node.js。

node软件包通过下载node本地系统的二进制文件并将其放入node_modules/.bin目录中来完成此操作。


节点版本管理器

尽管不是很容易移植,但是一些开发人员喜欢手动切换节点的哪个全局版本在任何给定时间点处于活动状态。有两个流行的npm软件包,它们提供了有用的CLI界面,用于选择(并自动安装)您想要用于系统的任何版本:nvmn。使用任何一个都超出了此答案的范围。




4

我有6.4.0版的节点。

由于需要较早版本6.3.0,因此我仅在系统中再次安装了6.3.0版本。节点版本自动降级。

因此,要降级节点版本,只需安装旧版本的node js即可。它将从较高版本自动降级。

我在osx中​​尝试过。它就像一种魅力。


1

出于某种原因,Brew将节点5安装到名为node5的单独目录中。

回到第5版,我采取的步骤是:(您将需要查找标准的brew安装/卸载,但是除此之外,此过程比看起来要简单得多。)

  1. 使用Brew标准安装来安装node5,但还没有brew链接。
  2. 使用brew unlink节点和brew卸载节点卸载所有其他版本的节点。您可能需要使用--force删除其中一个版本。
  3. 在您的计算机上找到酒窖文件夹
  4. 删除地窖中的节点文件夹。
  5. 将node5文件夹重命名为node。
  6. 然后,酿造链接节点

您应该已经对节点5进行了设置。


1

运行这个:

rm -rf node_modules && npm cache clear && npm install

节点将从任何缓存中安装。因此,如果先清除所有内容,然后NPM使用0.10.xx,它将正确还原。

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.