2013-05-31 43 views
6

爲什麼當我進入我的項目目錄時,rvm不會切換到@project_gemset?我的.ruby-gemset文件中的gemset名稱與從rvm gemset list列出的名稱相匹配。RVM .ruby-gemset文件不能切換gemsets

> cd project 
> ls -A 
.ruby-gemset 
> cat .ruby-gemset 
project_gemset 
> rvm gemset list 

gemsets for ruby-1.9.3-p392 (found in /Users/david/.rvm/gems/ruby-1.9.3-p392) 
=> (default) 
    global 
    project_gemset
+0

請注意,您可以使用沒有.ruby-gemset的.ruby版本。 RVM將切換到該Ruby,並使用默認的gemset。 –

回答

16

看來你必須擁有一個有效的.ruby版本文件和.ruby,寶石文件,以便RVM作出這樣的轉變。

我希望它會切換gemsets並使用默認的ruby版本,因爲gemset是我默認的ruby現有的gemset之一。但這不是它的工作原理。

+1

請標記爲已接受。另外,由於並非所有rubygems都與Ruby的所有版本兼容,所以您還需要一個'.ruby-version'。如果我有一個包含兩個項目的目錄,分別在Ruby 1.8.7和1.9.2上運行,並且我使用Ruby 2.0作爲其他任何項目的默認值,當我切換到每個目錄時,我希望讓RVM自動切換到正確的Ruby版本,所以我知道所有的gemsets(和我的項目)都可以在我的環境中運行,而無需做任何額外的事情。 –

+0

它是有道理的,它以這種方式工作,需要這兩個文件,因爲如果它允許您省略.ruby版本,並且您要在rvm中更改您的默認ruby,那麼當切換到rvm時,rvm不會再將您置於正確的ruby中該項目。 –