我在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?
答案 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。
希望有所帮助