2010-10-26 92 views
7

我在Windows上运行的Ruby(和Rails)的多个版本,并使用碧云在它们之间进行切换。在命令行,我能叫如何在Windows上的Git Bash中使用Pik for Ruby?

> 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] 

,使红宝石1.9.2活动版本:

我不能做同样的混帐bash的

$ pik list 
sh.exe": pik: command not found 

和红宝石的版本仍然1.8.6

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

好像混帐bash中无法看到的路径碧云。有没有办法改变git bash中的路径,或者有另一种方式在git bash中运行pik?

+0

在git的,你可以运行'回声$ PATH',和windows下,你可以运行'PATH'?另外,你可以运行'gem env'吗? – 2010-10-26 07:21:37

+0

是回声$ PATH,是回到gem env。 – y0mbo 2010-11-17 03:23:31

+0

好的,让我重述一下。运行这些命令,并将它们的输出添加到您的问题中(减去任何您认为是私密的东西)。 – 2011-05-26 22:50:49

回答

2

请确保您安装(0.2.8),它的最新版本璧。打开用户配置文件.bash_profile或下的Git的Bash类似,并确保它包含以下代码:

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

从那里,你应该能够从Git的Bash终端调用碧云。

希望有帮助

+0

'source $ USERPROFILE/.pik/.pikrc'没有引号给我带来麻烦。所以''源$ USERPROFILE/.pik/.pikrc“'修正了那些...... – goliatone 2011-12-07 15:49:11

10

最后一个答案是正确的,只要它走了。但是,在Windows系统上,$ USERPROFILE环境变量设置为类似于:C:\ Documents and Settings \ username。

在路径中的空间导致命令被不适当地解释。这是更好的:

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

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

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

+0

Thx David的提示。 – 2011-09-24 16:04:59

+0

另外,如果您将Pik安装在不同的驱动器上(例如D :),则还需要在用户配置文件下编辑位于.pik forlder下的.pikrc文件,以便pik_path指向正确的驱动器。例如:pik_path = d:/ pik – 2011-09-24 16:05:27

+0

另外,如果您使用Windows安装程序单独安装1.9.2,则需要编辑.pik/config.yml并添加指向1.9.2 gem home的gem_home设置: : gem_home:!ruby/object:路径名 path:c:/Ruby192/lib/ruby/gems/1.9.1 – 2011-09-24 17:21:48

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 [email protected] 
    [[ -s "$USERPROFILE/.pik/pik.sh" ]] && source "$USERPROFILE/.pik/pik.sh" 
} 

路径周围有引号,只需要你有空间路径(如“程序文件”)。

相关问题