Ошибка связки в Ruby на рельсах - PullRequest
2 голосов
/ 27 февраля 2011

Я запустил пакет внутри проекта ror, что привело к следующей ошибке.

Я не могу понять, что отсутствует.

[root@kracekumar canvas-lms]# bundle
Fetching source index for http://rubygems.org/
Using rake (0.8.7) 
Using abstract (1.0.0) 
Installing activesupport (2.3.11) 
Using rack (1.1.0) 
Installing actionpack (2.3.11) 
Installing actionmailer (2.3.11) 
Installing activerecord (2.3.11) 
Installing activeresource (2.3.11) 
Installing authlogic (2.1.3) 
Using builder (2.1.2) 
Using mime-types (1.16) 
Installing xml-simple (1.0.12) 
Installing aws-s3 (0.6.2) 
Installing bluecloth (2.0.10) with native extensions 
/usr/lib/ruby/site_ruby/1.8/rubygems/installer.rb:481:in `build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)

/usr/bin/ruby extconf.rb 
mkmf.rb can't find header files for ruby at /usr/lib/ruby/ruby.h


Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/bluecloth-2.0.10 for inspection.
Results logged to /usr/lib/ruby/gems/1.8/gems/bluecloth-2.0.10/ext/gem_make.out
    from /usr/lib/ruby/site_ruby/1.8/rubygems/installer.rb:446:in `each'
    from /usr/lib/ruby/site_ruby/1.8/rubygems/installer.rb:446:in `build_extensions'
    from /usr/lib/ruby/site_ruby/1.8/rubygems/installer.rb:198:in `install'
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.10/lib/bundler/source.rb:96:in `install'
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.10/lib/bundler/installer.rb:55:in `run'
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.10/lib/bundler/spec_set.rb:12:in `each'
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.10/lib/bundler/spec_set.rb:12:in `each'
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.10/lib/bundler/installer.rb:44:in `run'
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.10/lib/bundler/installer.rb:8:in `install'
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.10/lib/bundler/cli.rb:226:in `install'
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.10/lib/bundler/vendor/thor/task.rb:22:in `send'
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.10/lib/bundler/vendor/thor/task.rb:22:in `run'
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.10/lib/bundler/vendor/thor/invocation.rb:118:in `invoke_task'
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.10/lib/bundler/vendor/thor.rb:246:in `dispatch'
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.10/lib/bundler/vendor/thor/base.rb:389:in `start'
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.10/bin/bundle:13
    from /usr/bin/bundle:19:in `load'
    from /usr/bin/bundle:19
[root@kracekumar canvas-lms]#

Ответы [ 3 ]

19 голосов
/ 27 февраля 2012

Для систем Red Hat вы можете установить такие предварительные требования, как это:

sudo yum -y install make gcc ruby-devel

и он должен правильно установить зависимости, необходимые для установки собственного гема.

Предполагается, что у вас уже установлены Gems, если нет, то также установите:

sudo yum -y install rubygems

(протестировано на экземпляре Amazon EC2, который использует yum.)

2 голосов
/ 27 февраля 2011

Похоже, вы, вероятно, используете Ubuntu.Обязательно установите пакет ruby-dev для заголовков Ruby.

sudo apt-get install ruby-dev

В качестве альтернативы вы можете использовать RVM для обработки Ruby / RubyGems.

1 голос
/ 27 февраля 2011

Для вашей Ubuntu вам необходимо установить:

пакеты разработчика ruby ​​

sudo apt-get install ruby1.8-dev ruby1.8 ri1.8 rdoc1.8 irb1.8
sudo apt-get install libreadline-ruby1.8 libruby1.8 libopenssl-ruby
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...