升级Git Bash以运行新下载的ruby 2.0.0

Jus*_*tin 5 ruby windows git bash

我在Windows机器上,所以不幸的是我无法使用RVM,这将使这非常容易.

我以前在一台新的Windows机器上下载了Rails和Ruby.Rails 4.0.3和Ruby 1.9.3.出于某种原因,我安装的软件包没有安装新版本的ruby.所以我去了http://rubyinstaller.org/downloads/并下载了Ruby 2.0.0.如果我浏览我的应用程序以使用Ruby访问"启动命令提示符",则版本为2.0.0(ruby -v).但我使用Git Bash,http://git-scm.com/downloads作为我的命令行.现在,当前的ruby版本仍在1.9.3我的Git Bash窗口中.如何更新它以使用新下载的Ruby 2.0.0???

谢谢您的帮助.

小智 3

发行

$ which ruby
Run Code Online (Sandbox Code Playgroud)

会告诉你 GIT Bash 想要使用两个 ruby​​ 可执行文件中的哪一个。

对于需要有两个版本的 Ruby 的情况,可以使用 PATH 环境变量选择一个或另一个用于一般用途。

Bash $PATH 环境变量中的路径顺序很重要 - 如果 ruby​​ 1.9.3 可执行文件的路径出现在 ruby​​ 2.0.0 可执行文件的路径之前,则解释器将使用 1.9.3。因此,例如;

  • Ruby 1.9.3 位于 /c/Software/Ruby/1.9.3/ruby.exe
  • Ruby 2.0.0 位于 /c/Program Files/Ruby/2.0.0/ruby.exe

你的 PATH 变量如下;

$ echo $PATH
/c/GIT/bin:.:/c/Software/Ruby/1.9.3/:/c/Program Files/Ruby/2.0.0/
Run Code Online (Sandbox Code Playgroud)

然后,您需要重新排序 PATH 变量,以便 2.0.0 路径位于 1.9.3 路径之前。找到您的 .bashrc 文件(默认情况下位于您的主目录中)并检查任何 PATH 定义,例如;

PATH=$PATH:/c/Program Files/Ruby/2.0.0/
Run Code Online (Sandbox Code Playgroud)

并修改以使您的 2.0.0 路径具有优先权

PATH=/c/Program Files/Ruby/2.0.0/:$PATH
Run Code Online (Sandbox Code Playgroud)

您也可以在命令行上发出此命令,请确保执行

$ export $PATH
Run Code Online (Sandbox Code Playgroud)

一旦你做出改变。否则,您需要获取 .bashrc 或启动一个新的 shell。然后 GIT Bash 应该会选择正确的可执行文件。

另一种方法是为每个可执行文件创建指定其版本的别名或符号链接,例如键入 ;

$ ruby193
Run Code Online (Sandbox Code Playgroud)

执行 1.9.3 ruby​​ 并

$ ruby200
Run Code Online (Sandbox Code Playgroud)

执行2.0.0版本。

别名如下;

$ alias ruby193=/c/Software/Ruby/1.9.3/ruby.exe
Run Code Online (Sandbox Code Playgroud)

链接如下;

$ ln -s /c/Software/Ruby/1.9.3/ruby.exe /c/GIT/bin/ruby193
Run Code Online (Sandbox Code Playgroud)

您经常使用的别名应该放在 .bashrc 中。