Не удается установить пакет Ruby: не удалось собрать собственное расширение gem

В прошлом году я установил ruby ​​2.1.0 и пакет pdfbeads на 32-битном 12.04 после блога https://railssavvy.wordpress.com/2012/06/02/install_ruby_and_rails/ , и это сработало. Теперь кажется, что я установил ruby ​​2.2.0 на 64bit 14.04, но столкнулся с проблемой при установке pdfbeads.

  1. Установка 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? Или есть какой-то лучший способ сделать это?

  2. Теперь я хотел бы установить пакет 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.
    

    Я перехожу по этой ссылке https: // askubuntu.com/a/528798/1471 предложение запустить

    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?

Спасибо!

3
задан 13 April 2017 в 15:25

5 ответов

Чтобы проверить, настраивается ли Ваша версия рубина правильно, можно использовать следующее.

$ 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

Вы пропускаете библиотеку, которая требуется для драгоценного камня создать успешно. Этот решение предполагает, что это доступно в repos. Так, необходимо быть в состоянии установить его с:

sudo apt-get install libmagickwand-dev

, Как только это сделано, необходимо быть в состоянии установить драгоценный камень.

gem install  pdfbeads

Примечание: Я не протестировал это решение, и более благоразумный читатель мог бы заметить, что я даже не использую человечность здесь больше. Оставьте комментарий, если это не отсортировало Вас.

6
ответ дан 13 April 2017 в 15:25

Я также недавно столкнулся с этой проблемой недавно с RVM.

я пытался установить Компас, и он перестал работать на собственных двоичных файлах с недавней чистой установкой Ubuntu.

решение состояло в том, чтобы переустановить версию (2.3.0) Ruby с помощью дополнительного флага впоследствии - запрещать-двоичный-файл, что означает, что Вы не устанавливаете предварительно скомпилированные двоичные файлы, который идет с RVM. Это означает, что Ваши собственные двоичные файлы компилируются на Вашей машине. Это займет время для завершения.

Так, если у Вас есть эта попытка проблемы:

rvm reinstall --disable-binary 2.2.0

убедиться обновить рубиновую версию к любой версии у Вас есть проблема с

1
ответ дан 13 April 2017 в 15:25

Попробуйте это. Это работало на меня:

sudo apt-get install ruby-dev
sudo gem install pdfbeads

Ссылка: https://stackoverflow.com/a/26161563/2433023

2
ответ дан 13 April 2017 в 15:25

Для WSL (Windows Subsystem для Linux) Вы должны установить build-essential пакет:

sudo apt install build-essential
0
ответ дан 5 October 2019 в 12:00

Когда я работаю sudo apt install build-essential, затем это работает снова.

Ubuntu 18.04, Ruby 2.5.1p57.

0
ответ дан 1 December 2019 в 13:12

Другие вопросы по тегам:

Похожие вопросы: