在 Windows 上如何将 Ruby 添加到 PATH 环境变量?

24

我已经安装了Ruby,但我仍需要将其添加到PATH变量中。我在网上找到了一个关于如何使用命令行手动添加的东西:

set PATH=C:\Ruby200-x64\bin;%PATH%

但在我尝试之前,我想确认它不会覆盖PATH变量中当前的内容。(我对这方面没有任何经验,所以不知道会发生什么情况)。

感谢您提前的帮助!

7个回答

29

首先,注意这个问题实际上与Ruby无关,而是关于如何在Windows中设置路径(如果你想添加一个不同于Ruby的可执行文件,则使用相同的方法)。

其次,你并没有覆盖PATH环境变量,因为你在新设置的变量中添加了与现有内容相同的内容:

set PATH=C:\Ruby200-x64\bin;%PATH%

%PATH% 是 PATH 变量当前的内容。

考虑使用

 set PATH=%PATH%;C:\Ruby200-x64\bin

相反,这将使您的操作系统在搜索Ruby bin文件夹之前搜索原始路径。也许对于现代计算机来说没有太大区别,但我的老DOS时代声称第二种解决方案更好。

第三个也是最后一个要点,在Windows中,您可以在控制面板/系统属性中设置环境变量。如何进入取决于您的操作系统版本,但如果您搜索环境变量和系统变量,您应该会找到它们。


2
在Windows 10中,可以通过在搜索框中输入“variables”,然后单击“编辑环境变量”来编辑路径变量。需要注意的是,在路径末尾必须留下一个破折号,例如:C:\Ruby200-x64\bin\(请注意最后一个字符是破折号)。 - Fran Cano

7
  1. From the Desktop, right-click the very bottom left corner of the screen to get the Task Menu.
  2. From the Task Menu, click System.
  3. Click the Advanced System Settings link in the left column.
  4. In the System Properties window, click on the Advanced tab, then click the Environment Variables button near the bottom of that tab.
  5. In the Environment Variables window (pictured below), highlight the Path variable in the "System variables" section and click the Edit button.
  6. Add or modify the path lines with the paths you want the computer to access. For ruby it will be:

    ;YOUR_RUBY_INSTALLATION_PATH\bin;
    

set PATH=C:\Ruby200-x64\bin;%PATH% 的操作可能只是暂时的,直到您重新启动计算机。


4

我想告诉大家,当你在 Windows 上安装 rubyinstaller 并按照其步骤操作时,没有“添加到路径变量”选项,因为它会自动添加。

Rubyinstaller 骗了我,因为它说在安装后立即执行 gem install sass 时找不到 gem

如果你使用了 rubyinstaller,那么你的路径变量可能已经设置好了。

诀窍在于打开 CMD(或 PowerShell、ConEMU 等),Git Bash 并输入 gem

  1. WINKEY 键并输入 cmd
  2. 键入 gem install sass(或其他在 Ruby 的 bin 文件夹中的东西)

我刚才试图添加 PATH 变量,但发现它已经被设置好了,所以我的问题是在安装 rubyinstaller 后打开的垃圾命令行工具。

您也可以执行以下步骤将其添加到 PATH 变量中:

  1. WINKEY
  2. 键入 查看高级系统设置
  3. 打开它
  4. 点击 环境变量
  5. 在列表中单击 Path
  6. 单击 编辑
  7. 检查是否已经存在 C:\Ruby24-x64\bin,如果是,则完成
  8. 单击 新建 并输入C:\Ruby24-x64\bin
  9. 完成

如果 gem 命令已经在路径中,为什么它不起作用呢? - Scott M. Stolz
我弄清楚了为什么它无法运行。如果你在Windows Power Shell中运行gem,它不起作用,但是如果你在命令提示符下运行完全相同的命令,它就可以工作。 - Scott M. Stolz
我认为这与更新终端有关。例如,路径变量已设置,但终端尚未使用更新的路径。 - agm1984

1

是的,这是正确的。在您的示例中,%PATH%将展开为PATH变量的当前值,因此此命令实际上是向PATH开头添加了一个新条目。

请注意,调用set PATH仅会影响当前shell。如果您想使此更改对所有shell永久生效,最简单的方法是使用环境变量对话框将其设置为用户变量。

在Windows 8上,您可以通过按Win+s并搜索“环境变量”来打开此对话框。在早期版本的Windows上,您可以右键单击“My Computer”,选择属性,然后选择高级系统设置,然后选择环境变量。您可以在用户变量部分创建(或更新)PATH变量并添加所需的任何条目。这些将追加到现有的系统路径。如果您采用此方法,则需要在更新变量后打开新的cmd shell。


0

不用担心,你所做的是将C:\Ruby200-x64\bin附加到现有的%PATH%之前,这就是你发布的命令所做的。

路径是由;分隔的目录列表,系统将在其中查找您执行的命令。

在你的情况下,它是:

  1. C:\Ruby200-x64\bin
  2. %PATH%,如果你在命令行上打印它,你会发现它本身是由;分隔的目录列表。

如果你想要使你的更改永久生效,你必须在整个系统范围内更改你的PATH


0

我知道这个问题有Windows标签,但它是“ruby gems add to path”在DuckDuckGo的第一个搜索结果之一,所以我想要补充一下。

在Linux上,您可以将以下行添加到.bashrc的末尾,以将其添加到路径中:

export PATH=$PATH:~/.gem/ruby/2.6.0/bin


0

对于CLI,如其他地方所述,在路径变量上调用SET仅作用于当前窗口,关闭它或重新启动Windows会使更改无效。

例如,选择瞬态版本作为答案:

set "PATH=%PATH%;C:\Ruby200-x64\bin"

要在CLI中永久正确地设置路径,请使用path命令:

PATH %PATH%;C:\Ruby200-x64\bin

这将在CMD窗口之间持久存在,并在重新启动后保留。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接