2010-11-01 46 views
0

我正在一個網絡服務器上工作,這是第三方,所以我只能在我的家庭工作。我在webapps下安裝了ruby rail。我通過本地環境變量PATHGEM_HOME更改爲指向本地安裝文件夾。這是由網絡託管服務(webfaction)推薦並且工作正常。如何阻止以前版本的寶石被加載?

現在的問題是,我安裝哈姆新版本。我可以檢查它如下。

[[email protected] n2]$ gem list -d haml 

*** LOCAL GEMS *** 

haml (3.0.23) 
    Authors: Nathan Weizenbaum, Chris Eppstein, Hampton Catlin 
    Rubyforge: http://rubyforge.org/projects/haml 
    Homepage: http://haml-lang.com/ 
    Installed at: /home/myhome/webapps/mysite/gems 

    An elegant, structured XHTML/XML templating engine. Comes with Sass, 
    a similar CSS templating engine. 

但是當我做以下一些原因haml-2.2.9是新haml-3.0.23之前被激活。我無權訪問或權限haml-2.2.9它可能會安裝在我無法訪問的某個根文件夾下。我該如何解決這個問題。請記住,我只有通過個人文件夾的權利以及其中的任何權利。 haml-2.29未本地安裝。

[[email protected] n2]$ rake gems 
(in /home/myhome/webapps/mysite/n2) 
- [F] haml 
- [I] eycap 
    - [I] capistrano >= 2.2.0 
     - [I] net-ssh >= 2.0.14 
     - [I] net-sftp >= 2.0.0 
      - [I] net-ssh >= 2.0.9 
     - [I] net-scp >= 1.0.0 
      - [I] net-ssh >= 1.99.1 
     - [I] net-ssh-gateway >= 1.0.0 
      - [I] net-ssh >= 1.99.1 
     - [I] highline 
    - [I] hoe >= 1.5.1 
     - [I] rubyforge >= 2.0.4 
      - [I] json_pure >= 1.1.7 
     - [R] rake >= 0.8.7 
- [F] whenever 
    - [I] chronic >= 0.2.3 
- [F] rack 
- [F] formtastic 
    - [R] activesupport >= 2.3.0 
    - [R] actionpack >= 2.3.0 
- [I] hpricot 
- [F] friendly_id 
    - [R] activerecord >= 2.2.3 
    - [R] activesupport >= 2.2.3 
- [F] will_paginate ~> 2.3.11 
- [I] compass 
rake aborted! 
can't activate , already activated haml-2.2.9 

回答

0

Guy我找到了解決方案。我從開始註釋掉config.gem,而是加載了compass,這依賴於haml-3.0.23,所以現在它加載正確。我做了更改/config/envirnoment.rb

config.gem "compass" 
# config.gem "haml" 
    config.gem "eycap" 
    config.gem "whenever" 
    config.gem "rack" 
    config.gem "formtastic" 
    config.gem "hpricot" 
    config.gem "friendly_id" 
    config.gem 'will_paginate', :version => '~> 2.3.11', :source => 'http://gemcutter.org' 
# config.gem "compass" 
    config.gem "compass-960-plugin", :lib => 'ninesixty'