通过安装程序 (MSI) Windows 7 更新 Node.js 时看不到最新版本

Posted

技术标签:

【中文标题】通过安装程序 (MSI) Windows 7 更新 Node.js 时看不到最新版本【英文标题】:Not seeing latest version when updating Node.js via installer (MSI) Windows 7 【发布时间】:2014-07-19 08:41:25 【问题描述】:

我正在尝试更新我的 Windows 7 机器上的节点,但在我重新安装/更新节点后我没有看到最新版本。

我只是去http://nodejs.org/download/ 获取最新的 Windows 安装程序 v0.10.28。然后我只运行那个安装程序,它默认在我的本地硬盘上安装所有东西,包括 npm,这很酷,因为我也想升级它。

安装运行/完成没有明显问题,但是当我执行以下操作时:

node --version

我仍然看到我的“旧”版本,v0.10.15,而不是我应该刚刚安装的最新版本,v0.10.28。我的 npm 版本仍然报告我的“旧”版本。

我也试过重启。

到底是如何更新节点/npm 的?

【问题讨论】:

您是否尝试过先移除旧节点? 我没有,当我去卸载程序时,Node.js 显示为在 2014 年 5 月 29 日(今天)安装。仍然认为我应该卸载/重新安装? 卸载,重新安装并没有给我一个不同的版本。 node --version 仍然告诉我我在 v0.10.15。 如果您绝对确定您安装的版本正确,请向节点团队提交错误报告。 【参考方案1】:

我在 MacOS 上遇到了类似的问题,原因是我安装了 nvm。所以运行大多数网站上的命令:

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

不起作用,node -v 仍然显示旧版本。 我所做的是从 nvm 安装节点:

nvm install v0.12.6

这将在您的机器上从头开始构建节点,然后node -v 将显示正确的版本。我想我仍然可以通过使用n 来使用以前的命令,然后执行nvm use v0.12.6,但这是需要测试的。如果您安装了nvm,只需检查nvm 的命令即可升级节点。

【讨论】:

关闭终端后,又回到了老版本的node js。 :( 是的,那是因为您需要在 nvm 中将v0.12.6 设置为默认值 使用nvm install node获取最新版本 nvm' 未被识别为内部或外部命令 如果您仍然看到旧版本,请在输入上述命令后输入hash -r【参考方案2】:

Johan Dettmar 给出的关于使用 n

Answer 也适用于此。

对于Windows:以管理员身份打开命令提示符

对于Linux/Mac:终端上的sudo -s

    npm cache clean -f(强制)清除你的 npm 缓存 npm install -g n install "n"(这可能需要一段时间) n stable升级到最新版本

【讨论】:

用户说他在 Windows 7 上。上次我检查,sudo 在 Windows 7 上不起作用。 For Linux/Mac : sudo -s on terminal 他在描述中明确说明了这一点?【参考方案3】:

Windows 用户

节点很可能安装在 2 个位置。

    C:\Program Files\nodejs C:\Program Files (x86)\nodejs

将(x86)版本的文件夹重命名为“nodejsOLD”,重启命令提示符,再试一次。

node -v

安装程序工作正常,您不需要做的事情:

    您不需要卸载 您不需要重新启动

这里有关于堆栈溢出的 Windows 和节点的很好的讨论: How do I update npm on Windows?

【讨论】:

【参考方案4】:

我遇到了同样的问题,需要注意的一件事是确保您下载的是正确的架构版本(例如 32 位或 64 位)。升级的时候下载了32位版本,没意识到。但我之前安装的版本是 64 位的。所以我实际上最终安装了 32 位和 64 位版本。但是当你去卸载时,它只列出了一个版本的node.js,所以即使我卸载后,它也卸载了最新版本,但保留了早期版本。这就是为什么我在执行“node -v”时一直获取旧版本的原因。

一旦我下载了正确的版本(在我的例子中是 64 位),问题就解决了。

【讨论】:

【参考方案5】:

可能对其他人有用的提示,我发现它对 Windows 平台有帮助。 在cmd.exe中输入命令:

where node

这为我输出了 node.exe 在 Chocolatey 的子目录中。

问题是这个版本是 v8.11.1,它不适用于较新版本的 Angular-CLI。因此,我删除了 exe,然后在 Nodejs 网站上运行了 Node 的 LTS 版本的安装程序,以获得适用于 Angular 的 Node 的工作版本。在 Windows 10 上测试。

因此,如果您使用的是 Windows,请在 cmd.exe 中测试 where 命令 Linuxers 和 Mac-ers 可以使用其他命令,例如 which command。

下面的屏幕截图。我在运行 node.exe 命令之前删除了 node.exe 文件。

【讨论】:

【参考方案6】:

要更新 Node,请下载最新的 http://nodejs.org/dist/latest/node.exe(或 http://nodejs.org/dist/latest/x64/node.exe 对于 64 位系统)并用它替换旧的 node.exe。

要更新 npm,请运行 npm update npm -g 命令。

【讨论】:

我提高了这一点,不是因为它有效,而是因为它是 npm 所说的。但只是为了记录,这只能是修复的一部分。对我来说,它说它正在安装 npm 5.8.1,但之后运行 npm -v 显示 5.5.1【参考方案7】:

我遇到了同样的问题 - 但这是由于在我的环境变量中设置的 nodejs 版本过多。

您可以在 Windows 中使用 cmd 中的 where node 轻松检查。如果输出了多个路径,则可能是此错误的原因。您可以通过删除其他环境变量来修复它。

【讨论】:

【参考方案8】:

尽管这听起来很愚蠢,但请确保您之前没有安装不再使用的节点版本管理器,例如 Nodist。这些将允许机器仅将其内部节点版本作为可用版本,而不是您自己手动安装的版本。

如果您想手动更新 Node/NPM 版本,卸载这些包管理器将解决问题。

【讨论】:

【参考方案9】:

要解决此问题,您可以修改“环境变量”。

    从“系统属性”打开“环境变量”。 在系统变量部分选择路径变量并单击编辑按钮。

    在此列表中,您必须拥有最新安装的 Node.js 文件夹(从列表中删除其他 Node.js 文件夹)。

就是这样

【讨论】:

以上是关于通过安装程序 (MSI) Windows 7 更新 Node.js 时看不到最新版本的主要内容,如果未能解决你的问题,请参考以下文章

windows下安装mysql-installer-community-5.7.16.msi记录

Windows10安装Mysql5.7.19.0 msi 版本报错

Windows服务项目打包成安装包(Windows服务)-----------VS2017项目程序打包成.msi或者.exe

Windows下mysql-5.7.28下载安装配置教程

msi文件无文件关联,右键打开方式找不到Windows® 安装程序

TeamViewer 15.6.7新版本发布