2010-11-01 54 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'