如果你被困在Windows機器上,Pik看起來很棒。唯一的問題是它似乎設置爲Windows命令提示符,並且我正在使用cygwin。
每當我嘗試在cygwin中切換到不同版本的ruby時,它仍然只使用默認的cygwin安裝ruby。如何讓pik gem在Windows XP中與cygwin一起玩得很好?還是有另一種方式來獲取多個版本的ruby並運行在cygwin中?
$ pik list
186: ruby 1.8.6 (2009-06-08 patchlevel 369) [i386-mswin32]
187: ruby 1.8.7 (2008-08-11 patchlevel 72) [i386-cygwin] *
187: ruby 1.8.7 (2010-01-10 patchlevel 249) [i386-mswin32]
191: ruby 1.9.1p376 (2009-12-07 revision 26041) [i386-mswin32]
$ pik switch 191
$ pik list
186: ruby 1.8.6 (2009-06-08 patchlevel 369) [i386-mswin32]
187: ruby 1.8.7 (2008-08-11 patchlevel 72) [i386-cygwin] *
187: ruby 1.8.7 (2010-01-10 patchlevel 249) [i386-mswin32]
191: ruby 1.9.1p376 (2009-12-07 revision 26041) [i386-mswin32]
似乎並不重要我嘗試 - 它總是默認爲cygwin安裝。如果我在Windows命令提示符下測試它,一切正常。這只是cygwin以某種方式阻礙了我,如果我放棄我的cygwin來處理蹩腳的XP命令行,我會被詛咒的。 :}
很可能,Cygwin只是在命令行鍵入'which ruby'時運行列出的ruby可執行文件。另一種方法是將不同版本的ruby安裝到不同的目錄中,然後'chroot'進入這些目錄並從那裏運行ruby。這樣,Cygwin就無法查找默認的ruby版本(當你在'chroot'監獄中時,'$ PATH'中列出的目錄不再存在)。 – bta 2010-02-16 21:24:26
是的,它只是拾取路徑中的第一顆紅寶石。但是如果你確定current_ruby/bin是第一個在路徑中,那麼你很好。 chroot聽起來也是一個體面的解決方案。 – bergyman 2010-02-17 16:33:03
那麼爲什麼有人會低估這一點呢?這個解決方案對我來說已經工作了近一個月了。 – bergyman 2010-03-12 20:37:57