2013-03-01 9 views
1

我在Windows 7機器上運行rails並使用pik作爲我的RVM。Rails服務器命令不工作,沒有其他版本的紅寶石的寶石

我有紅寶石1.9.3目前安裝,但我有一個項目,需要紅寶石1.9.2。

所以使用PIK,i。從gitbash運行這些命令:

  1. pik 192
  2. ruby -v

紅寶石1.9.2p180(2011-02-18)[I386-的mingw32]

  1. rails server

sh.exe「:導軌:找不到命令

然而,當我使用碧雲193我肯定可以看到服務器運行。在pik 192下運行gem列表也不會顯示任何本地寶石,而pik 193則顯示它們中的很多。

我該如何「分享」這兩個版本之間的寶石,還是有更好的選擇,將風險較小?

回答

1

要在整個安裝中共享寶石,您需要將寶石安裝在兩個安裝的共同位置。

默認情況下,Windows上的Ruby將在Ruby的目錄中安裝gems。

您可以通過執行驗證這一點:

gem env gemdir 

要在兩個口譯一個共同的地方安裝,您將需要GEM_HOME環境變量設置爲特定的目錄,如C:\gems

SET GEM_HOME=C:\gems 
gem env gemdir 

您還需要將bin目錄添加到PATH

SET PATH=C:\gems\bin;%PATH% 

這將允許gems可執行文件可用。

但是,請注意,雖然Ruby 1.9.2和1.9.3聲明它們是兼容的,但對於作爲某些寶石一部分的編譯C擴展可能不適用。

的Ruby 1.9.3引入了不可在1.9.2和當1.9.3編譯的寶石在Ruby中加載1.9.2

這些差異可能會導致可能會導致問題的某些API級的功能分段錯誤和怪異的應用程序在某些情況下崩潰。

不推薦使用,所以請自擔風險使用。

希望有所幫助。

+0

只能爲1.9.2安裝寶石嗎?我試着切換到1.9.2,運行gem install rack。它成功完成,但是當我做寶石列表時,我什麼也沒得到 – user571099 2013-03-02 02:02:04

+0

'gem env'的輸出是什麼,以及說明安裝了寶石的地方?你檢查過'gem env gemdir'還有'gem env path'告訴你了嗎? – 2013-03-02 13:29:26