【问题标题】:Why does `gem install rails` fail?为什么`gem install rails`会失败?
【发布时间】:2012-07-13 22:20:03
【问题描述】:

作为背景,这是我的环境:

vishal@dishDell:~$ gem env
RubyGems Environment:
  - RUBYGEMS VERSION: 1.8.24
  - RUBY VERSION: 1.9.3 (2011-10-30 patchlevel 0) [x86_64-linux]
  - INSTALLATION DIRECTORY: /usr/lib/ruby/gems/1.9.1
  - RUBY EXECUTABLE: /usr/bin/ruby1.9.1
  - EXECUTABLE DIRECTORY: /usr/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-linux
  - GEM PATHS:
     - /usr/lib/ruby/gems/1.9.1
     - /home/vishal/.gem/ruby/1.9.1
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://rubygems.org/

当我尝试运行 gem install rails 时会发生这种情况。

vishal@dishDell:~$ sudo gem install rails
[sudo] password for vishal: 
Building native extensions.  This could take a while...
ERROR:  Error installing rails:
    ERROR: Failed to build gem native extension.

        /usr/bin/ruby1.9.1 extconf.rb
/usr/local/lib/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mkmf (LoadError)
    from /usr/local/lib/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from extconf.rb:1:in `<main>'


Gem files will remain installed in /usr/lib/ruby/gems/1.9.1/gems/json-1.7.3 for inspection.
Results logged to /usr/lib/ruby/gems/1.9.1/gems/json-1.7.3/ext/json/ext/parser/gem_make.out

我使用 apt-get 安装了 Ruby 1.9.3,并从 ruby​​gems.org 的 tarball 安装了 RubyGems。我应该怎么做才能让它工作?

【问题讨论】:

    标签: ruby-on-rails linux rubygems xubuntu


    【解决方案1】:

    这适用于 Ubuntu 12.10:

    sudo apt-get install ruby
    sudo apt-get install ruby-dev
    sudo apt-get install rubygems
    sudo gem install rails
    

    【讨论】:

    • 有趣。您使用的是标准存储库吗?
    • 是的。 RVM 听起来确实是为更有经验的用户设置 Rails 的更好方法。但是对于 Rails 初学者(像我一样),您希望能够分三行安装 rails:apt-get install ruby​​、apt-get install ruby​​gems、gem install rails。我不确定为什么 ruby​​gems 不会自动安装 ruby​​-dev
    • 回购在 12.04 中有点混乱,这就是我遇到问题的原因。很高兴看到他们修好了!
    【解决方案2】:

    正如其他Stackoverflow question 中所指出的,检查您是否有 ruby​​-1.9-dev 或 ruby​​-1.9.3-dev 软件包。如果丢失,请安装它,然后尝试安装 rails。

    另外,请查看RVM 以同时安装和管理多个 ruby​​ 版本。

    【讨论】:

    • 我最终删除了我的 ruby​​ 和 ruby​​gems 安装,并通过 RVM 完成了所有操作......这比我预期的要容易得多。经验教训:不要盲目相信 Ubuntu 的存储库!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-24
    • 2011-07-10
    • 2012-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多