【问题标题】:Ruby PATH nightmare on Windows -- PATH variable not workingWindows 上的 Ruby PATH 噩梦——PATH 变量不起作用
【发布时间】:2019-03-10 03:49:51
【问题描述】:

这是一场噩梦。我使用 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 并坚持使用旧的?

【问题讨论】:

  • 您可能需要注意PATH变量的sequence?这意味着,您将新路径附加到PATH 的end,还是附加到PATH 的head?这可能会有所不同。
  • 再次检查你的 PATH 变量,也许它在新路径之前有旧路径。此外,最好删除旧版本,因为您不再需要它。请尽量冷静下来。
  • 你尖叫的帽子让读者讨厌和贬低。

标签: ruby windows path


【解决方案1】:

PATH 变量用于“搜索”可执行文件。如果找到具有给定名称的所需可执行文件,则系统将使用它,并忽略其余部分。

您之前可能在PATH 变量中列出了以前版本的Ruby 的bin,那么如果您在PATH末尾 附加新版本的Ruby,它可能是由于先前找到的旧版本 Ruby 的命中而被忽略。

为确保您可以使用 PATH 变量中列出的新版本 Ruby,只需从 PATH 中删除旧版本,或将新版本移到前面。

【讨论】:

    【解决方案2】:

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

    好的,问题来了。我已经安装了两个 Ruby 和 Windows 笔记本电脑上的 Ruby on Rails。两者都是 Windows 安装程序。问题是Ruby on Rails 安装其 OWN 的 Ruby 实例 通过某些 EVIL 劫持 Ruby 路径意味着其他 比 PATH 环境变量。为了 让我最近安装的 Ruby 2.5 版本到 工作,我不得不卸载旧的 Ruby on Rails 使用 Ruby 2.2 的版本。

    有没有人知道这个 EVIL 劫持了什么 包括?

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

    但是,确实应该有一种安装方式 rails 没有安装它的 Ruby 版本 引擎?一种让 Rails 使用当前的方法 全局安装在个人计算机上的 Ruby。

    除此之外,我想一个人需要某种 用于切换路径的 Ruby 版本管理器。版本 经理将不得不使用任何劫持方法 我猜是 Rails 用来切换路径的。

    【讨论】:

    • 我认为你应该 1. 提供这次劫持的证据(PATH 变量的完整内容、命令运行结果等) 2. 使用更好的词或语气。
    猜你喜欢
    • 2013-07-13
    • 2014-11-13
    • 2010-12-21
    • 1970-01-01
    • 1970-01-01
    • 2022-01-21
    • 2015-01-12
    • 2019-07-29
    • 2017-01-06
    相关资源
    最近更新 更多