Не удается установить пакет Ruby: не удалось собрать собственное расширение gem
Я установил ruby 2.1.0 и пакет pdfbeads на 32bit 12.04 в прошлом году после блога https://railssavvy.wordpress.com/2012/06/02/install_ruby_and_rails/, и это сработало. Теперь кажется, что я установил ruby 2.2.0 на 64bit 14.04, но столкнулся с проблемой при установке pdfbeads.
Установка rvm и ruby:
Я слышал, что ruby в репозитории Ubuntu не работает (но я не знаю, применимо ли это по-прежнему), поэтому я следовал https://railssavvy.wordpress.com/2012/06/02/install_ruby_and_rails/ для установки rvm и ruby. Я не уверен, правильно ли я поступил в следующем:
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 curl -L get.rvm.io | bash -s stable
Я изначально первый раз побежал
curl -L get.rvm.io | bash -s stable
во-первых, но он попросил меня запуститьgpg
Команда перед этим.Затем я добавляю строку в ~ /.bashrc:
PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting
И пару строк в ~ /.bash_profile:
[[ -s "$HOME/.profile" ]] && source "$HOME/.profile" [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
Затем я побежал:
source ~/.rvm/scripts/rvm rvm requirements rvm autolibs disable $ rvm install 2.2.0 Already installed ruby-2.2.0. To reinstall use: rvm reinstall ruby-2.2.0
он говорит мне, что я уже установил ruby, затем я проверил вывод предыдущих команд и обнаружил, что
curl -L get.rvm.io | bash -s stable
кажется уже установлен ruby. Затем я побежал:rvm --default use 2.2.0
Правильно ли я установил rvm и ruby? Или есть какой-то лучший способ сделать это?
Теперь я хотел бы установить пакет
pdfbeads
:$ gem install pdfbeads Building native extensions. This could take a while... ERROR: Error installing pdfbeads: ERROR: Failed to build gem native extension. /home/t/.rvm/rubies/ruby-2.2.0/bin/ruby -r ./siteconf20150322-21902-q15297.rb extconf.rb checking for Ruby version >= 1.8.5... yes checking for gcc... yes checking for Magick-config... no checking for pkg-config... yes checking for ImageMagick version >= 6.4.9... yes Package MagickCore was not found in the pkg-config search path. Perhaps you should add the directory containing `MagickCore.pc' to the PKG_CONFIG_PATH environment variable No package 'MagickCore' found Package MagickCore was not found in the pkg-config search path. Perhaps you should add the directory containing `MagickCore.pc' to the PKG_CONFIG_PATH environment variable No package 'MagickCore' found Package MagickCore was not found in the pkg-config search path. Perhaps you should add the directory containing `MagickCore.pc' to the PKG_CONFIG_PATH environment variable No package 'MagickCore' found Package MagickCore was not found in the pkg-config search path. Perhaps you should add the directory containing `MagickCore.pc' to the PKG_CONFIG_PATH environment variable No package 'MagickCore' found checking for stdint.h... yes checking for sys/types.h... yes checking for wand/MagickWand.h... no Can't install RMagick 2.13.4. Can't find MagickWand.h. *** extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options. Provided configuration options: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include=${opt-dir}/include --with-opt-lib --without-opt-lib=${opt-dir}/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=/home/t/.rvm/rubies/ruby-2.2.0/bin/$(RUBY_BASE_NAME) extconf failed, exit code 1 Gem files will remain installed in /home/t/.rvm/gems/ruby-2.2.0/gems/rmagick-2.13.4 for inspection. Results logged to /home/t/.rvm/gems/ruby-2.2.0/extensions/x86_64-linux/2.2.0/rmagick-2.13.4/gem_make.out t@ocean:/h/t/./archives$ man gem No manual entry for gem See 'man 7 undocumented' for help when manual pages are not available.
Я перехожу по этой ссылке /questions/694368/mozhno-ustanovit-rails-na-ubuntu-1404-s-ruby-213/694380#694380 предложение запустить
rvm install 2.2.0-dev
После того, как кажется, что у меня все еще та же ошибка:
$ gem install pdfbeads Building native extensions. This could take a while... ERROR: Error installing pdfbeads: ERROR: Failed to build gem native extension. /home/t/.rvm/rubies/ruby-2.2.0/bin/ruby -r ./siteconf20150322-24037-mauac1.rb extconf.rb checking for Ruby version >= 1.8.5... yes checking for gcc... yes checking for Magick-config... no checking for pkg-config... yes checking for ImageMagick version >= 6.4.9... yes Package MagickCore was not found in the pkg-config search path. Perhaps you should add the directory containing `MagickCore.pc' to the PKG_CONFIG_PATH environment variable No package 'MagickCore' found Package MagickCore was not found in the pkg-config search path. Perhaps you should add the directory containing `MagickCore.pc' to the PKG_CONFIG_PATH environment variable No package 'MagickCore' found Package MagickCore was not found in the pkg-config search path. Perhaps you should add the directory containing `MagickCore.pc' to the PKG_CONFIG_PATH environment variable No package 'MagickCore' found Package MagickCore was not found in the pkg-config search path. Perhaps you should add the directory containing `MagickCore.pc' to the PKG_CONFIG_PATH environment variable No package 'MagickCore' found checking for stdint.h... yes checking for sys/types.h... yes checking for wand/MagickWand.h... no Can't install RMagick 2.13.4. Can't find MagickWand.h. *** extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options. Provided configuration options: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include=${opt-dir}/include --with-opt-lib --without-opt-lib=${opt-dir}/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=/home/t/.rvm/rubies/ruby-2.2.0/bin/$(RUBY_BASE_NAME) extconf failed, exit code 1 Gem files will remain installed in /home/t/.rvm/gems/ruby-2.2.0/gems/rmagick-2.13.4 for inspection. Results logged to /home/t/.rvm/gems/ruby-2.2.0/extensions/x86_64-linux/2.2.0/rmagick-2.13.4/gem_make.out
Интересно, как я могу установить
pdfbeads
пакет?
Спасибо!
5 ответов
Чтобы проверить, правильно ли установлена ваша версия ruby, вы можете использовать следующее.
$ which ruby
/path/to/ruby
$ ruby --version
ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-darwin13.0]
В вашем случае это выглядит так ruby
настроен нормально.
Rvm - это всего лишь инструмент, который поможет вам управлять рубинами. Вы узнаете, если вам это не нравится.
Есть подсказки, почему установка драгоценного камня не удалась. В частности,
checking for Ruby version >= 1.8.5... yes
checking for gcc... yes
checking for Magick-config... no <------ There's your problem
checking for pkg-config... yes
checking for ImageMagick version >= 6.4.9... yes
Вам не хватает библиотеки, необходимой для успешного построения гема. Это решение предполагает, что оно доступно в репозиториях. Итак, вы должны быть в состоянии установить его с:
sudo apt-get install libmagickwand-dev
Как только это будет сделано, вы сможете установить драгоценный камень.
gem install pdfbeads
Примечание: я не тестировал это решение, и более благоразумный читатель может заметить, что я здесь больше не пользуюсь ubuntu. Оставьте комментарий, если это не поможет вам разобраться.
Попробуй это. Это сработало для меня:
sudo apt-get install ruby-dev
sudo gem install pdfbeads
Я также недавно сталкивался с этой проблемой недавно с RVM.
Я попытался установить Compass, и он потерпел неудачу на родных двоичных файлах с недавней чистой установкой Ubuntu.
Решением было переустановить версию Ruby (2.3.0) с использованием дополнительного флага после --disable-binary, что означает, что вы не устанавливаете предварительно скомпилированные двоичные файлы, которые поставляются с RVM. Это означает, что ваши собственные двоичные файлы скомпилированы на вашем компьютере. Это займет некоторое время, чтобы завершить.
Итак, если у вас возникла эта проблема, попробуйте:
rvm reinstall --disable-binary 2.2.0
Обязательно обновите версию ruby до любой версии, с которой у вас возникла проблема.
Для WSL (подсистема Windows для Linux) вам нужно установить build-essential
пакет:
sudo apt install build-essential
Когда я бегу sudo apt install build-essential
тогда снова работает
Ubuntu 18.04, Ruby 2.5.1p57.