首页 > 解决方案 > Windows 上的 Ruby PATH 噩梦——PATH 变量不起作用

问题描述

这是一场噩梦。我使用 Ruby Windows 安装程序(位于此处: https ://rubyinstaller.org/downloads/ )安装了新版本的 Ruby 2.5。这是版本: Ruby interpreter (CUI) 2.5.3p105 [x64-mingw32]

我假设新的 Windows 安装程序会添加"C:\Ruby25-x64\bin"到我的 PATH 中,它确实做到了。

但是命令行显示我的计算机仍在使用我之前安装的 EARLIER 2.2.4 Ruby 版本。DOS 和 GITBASH 都显示了早期的 Ruby 版本(即使在我将 NEW ruby​​ 路径添加到 USER 和 SYSTEM PATH 环境变量之后,甚至在重新启动之后!)。

换句话说,看起来 RUBY 在我的机器上根本没有使用 PATH 变量,因为将 PATH 更改为指向较新版本没有效果。

我注意到输出中的 MING64 和 MING32 之间存在差异。
我有一台 64 位机器,但我认为这与使用 PATH 变量无关。

USER@USER MINGW64 /
$ ruby -v
ruby 2.2.4p230 (2015-12-16 revision 53155) [i386-mingw32]

注册表还列出了最新的 ruby​​ 路径(PATH 存储在注册表中)。

为什么 Windows 不识别新的 Ruby 并坚持使用旧的?

标签: rubywindowspath

解决方案


是的 。. . Geno Chen 是正确的。我有一个 Ruby 实例连接到 Ruby on Rails 安装。这是我发现的。

好的,问题来了。我在 Windows 笔记本电脑上安装了 Ruby 和 Ruby on Rails。两者都是 Windows 安装程序。问题是 Ruby on Rails 安装了它的 Ruby OWN 实例,它通过 PATH 环境变量以外的一些 EVIL 方式劫持了 Ruby 路径。为了让我最近安装的 Ruby 2.5 版本能够正常工作,我必须卸载使用 Ruby 2.2 的旧 Ruby on Rails 版本。

有人知道这个 EVIL 劫持是什么吗?

我现在不再有 Rails,除非我使用最新的 rails 安装程序。我并不迫切需要它;我只是为了探索它而学习rails。

但是,真的应该有一种方法来安装 rails 而不安装其版本的 Ruby 引擎吗?一种让 Rails 使用全局安装在计算机上的当前 Ruby 的方法。

除此之外,我想需要某种 Ruby 版本管理器来切换路径。我猜版本管理器必须使用 Rails 用来切换路径的任何劫持方法。


推荐阅读