如何在Windows上的Git Bash中使用Pik for Ruby?

时间:2010-10-26 04:09:13

标签: ruby windows git git-bash pik

我在Windows上运行多个版本的Ruby(和Rails),并使用Pik在它们之间切换。在命令行,我可以调用

> pik list
186: ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32]
192: ruby 1.9.2p0 (2010-08-18) [i386-mingw32]

获取可用的ruby版本列表,并使用

> pik 192

> ruby -v
ruby 1.9.2p0 (2010-08-18) [i386-mingw32]

使ruby 1.9.2成为活动版本:

我无法在 git bash

中做同样的事情
 $ pik list
 sh.exe": pik: command not found

并且ruby的版本仍为1.8.6

$ ruby -v
ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32]

似乎git bash无法看到pik的路径。有没有办法改变git bash中的路径,还是有另一种方法在git bash中运行pik?

3 个答案:

答案 0 :(得分:10)

最后的答案是正确的。但是,在Windows系统上,$ USERPROFILE环境变量设置为:C:\ Documents and Settings \ username。

路径中的空格会导致命令被不正确地解释。这样更好:

[[ -s "$USERPROFILE/.pik/.pikrc" ]] && source "$USERPROFILE/.pik/.pikrc"

请注意上面代码段中路径周围的引号。

此外,您的.bashrc文件(或.bash_profile文件)应位于USERPROFILE环境变量指定的目录中,例如: - C:\ Documents and Settings \ username。

答案 1 :(得分:3)

我必须编辑.bash_profile和.pikrc

的.bash_profile:

[[ -s "$USERPROFILE/.pik/.pikrc" ]] && source "$USERPROFILE/.pik/.pikrc"

.pikrc

#!/bin/sh
pik_path="/c/Program Files/pik"

function pik  {
  "$pik_path/pik_runner.exe" pik.sh $@
  [[ -s "$USERPROFILE/.pik/pik.sh" ]] && source "$USERPROFILE/.pik/pik.sh"
} 

只有在路径中有空格(例如“Program Files”)时才需要在路径周围加引号。

答案 2 :(得分:2)

请确保您安装了最新版本的Pik(0.2.8)。在Git Bash下打开您的用户个人资料.bash_profile或类似内容,并确保其中包含以下代码:

[[ -s $USERPROFILE/.pik/.pikrc ]] && source $USERPROFILE/.pik/.pikrc

从那里你应该可以从Git Bash终端调用pik。

希望有所帮助