2010-10-26 94 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" 
} 

路徑周圍有引號,只需要你有空間路徑(如「程序文件」)。

相關問題