通过安装程序 (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