Почему `gem install rails` не работает?

В качестве фона, вот моя среда:

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

Я установил Ruby 1.9.3 с помощью apt-get и установил RubyGems из архива с сайта rubygems.org. Что я должен сделать, чтобы заставить это работать?


person Vishal Kotcherlakota    schedule 14.07.2012    source источник


Ответы (2)


Как указано в другом вопросе Stackoverflow, проверьте, иметь пакет ruby-1.9-dev или ruby-1.9.3-dev. Установите его, если он отсутствует, а затем попробуйте установить рельсы.

Кроме того, взгляните на RVM, чтобы установить несколько версий ruby ​​и управлять ими одновременно.

person Kulbir Saini    schedule 14.07.2012
comment
В итоге я удалил свои установки ruby ​​и rubygems и просто сделал все через RVM... это оказалось намного проще, чем я ожидал. Урок извлечен: не доверяйте репозиториям Ubuntu слепо! - person Vishal Kotcherlakota; 16.07.2012

это сработало для меня с Ubuntu 12.10:

sudo apt-get install ruby
sudo apt-get install ruby-dev
sudo apt-get install rubygems
sudo gem install rails
person Michael Bylstra    schedule 27.10.2012
comment
Интересный. Вы использовали стандартные репозитории? - person Vishal Kotcherlakota; 28.10.2012
comment
да. RVM звучит как лучший способ настройки rails для более опытных пользователей. Но для новичков в Rails (таких как я) можно было бы ожидать, что они смогут установить рельсы в три строки: apt-get install ruby, apt-get install rubygems, gem install rails. Я не уверен, почему rubygems автоматически не устанавливает ruby-dev - person Michael Bylstra; 28.10.2012
comment
Репозитории были немного испорчены в 12.04, поэтому у меня были проблемы. Рад видеть, что они исправили это! - person Vishal Kotcherlakota; 28.10.2012