【问题标题】:Unable to install Ruby gems无法安装 Ruby gem
【发布时间】:2010-04-23 17:08:26
【问题描述】:

我第一次尝试在 Mac OS X Leopard 上安装一些 Ruby gem。请参阅下面的命令和输出。我的问题是如何安装具有依赖项的 gem?我尝试先从本地下载的文件安装单个依赖项 gem,但很快我发现兔子洞没有尽头:-) 我还发现循环依赖项甚至打破了这种乏味的方法。一定会有更好的办法!非常感谢您的帮助。

sudo gem install oauth  
Updating metadata for 1 gems from http://gems.rubyforge.org  
.  
complete  
ERROR:  Error installing oauth:  
 oauth requires actionpack (>= 2.2.0, < 2.3.0)  

【问题讨论】:

    标签: rubygems gem


    【解决方案1】:

    试试

    sudo gem install --include-dependencies oauth
    

    如果这样不行

    先尝试安装 rails(actionpack 是 rails 的一部分)

    sudo gem install rails
    sudo gem install oauth
    

    【讨论】:

    • 感谢您的回答。我尝试了 --include-dependencies 并收到一条 INFO 消息,告诉我此选项默认启用。所以这对解决这个问题没有帮助。然后我尝试安装 rails 并收到错误“无法在本地或存储库中找到 rails”看起来我可能遗漏了一些东西。顺便说一句,我正在使用与 Mac OS X Leopard 一起安装的 gem。感谢您提供任何其他见解。
    • 尝试 gem update --system 升级到最新版本,然后再次尝试安装 rails
    • 该更新允许我安装带有所有依赖项的 oauth,即使没有安装 rails !此更新还将主要 gem 源更改为 rubygems.org。所以问题已经解决了。非常感谢!
    【解决方案2】:

    Bundler 是新的 ruby​​ gem 依赖管理系统。您可以在应用程序的根目录创建一个 Gemfile,并将 gem "oauth" 添加到文件中(您还需要一个源,例如 source :gemcutter。然后运行 ​​bundle install 将为您处理所有依赖项。阅读链接的文档了解更多信息。

    这是我的一个示例 Gemfile:

    source :gemcutter
    
    gem "rails", "2.3.5"
    gem "nokogiri"
    gem "memcache-client", "1.7.8", :require => "memcache"
    
    group :test do
      gem "factory_girl"
      gem "cucumber"
      gem "webrat"
    end
    

    除此之外,请查看RVM(Ruby 版本管理器)。它允许您运行多个 ruby​​ 版本。使用 rvm 时,所有 gem 都将安装在您的主目录而不是系统范围内,因此您可以省略 sudo。

    Ryan Bates 在RVM 和Bundler 上也有一些很棒的railscasts

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-10-02
      • 2011-04-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多