Ruby 1.9.3
Часть Gemfile
#...............
gem "pony"
gem "bcrypt-ruby", :require => "bcrypt"
gem "nokogiri"
#..................
Когда я пытаюсь установить гем, я получаю сообщение об ошибке
alex@ubuntu:~/$ bundle
Fetching gem metadata from http://rubygems.org/.........
Fetching gem metadata from http://rubygems.org/..
Enter your password to install the bundled RubyGems to your system:
#####............................................................
Installing bcrypt-ruby (3.0.1) with native extensions
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/usr/bin/ruby1.9.1 extconf.rb
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mkmf (LoadError)
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from extconf.rb:36:in `<main>'
Gem files will remain installed in /home/alex/.bundler/tmp/5526/gems/bcrypt-ruby-3.0.1 for inspection.
Results logged to /home/alex/.bundler/tmp/5526/gems/bcrypt-ruby-3.0.1/ext/mri/gem_make.out
An error occurred while installing bcrypt-ruby (3.0.1), and Bundler cannot continue.
Make sure that `gem install bcrypt-ruby -v '3.0.1'` succeeds before bundling.
Тогда я делаю это
sudo gem install bcrypt-ruby -v '3.0.1'
Building native extensions. This could take a while...
ERROR: Error installing bcrypt-ruby:
ERROR: Failed to build gem native extension.
/usr/bin/ruby1.9.1 extconf.rb
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mkmf (LoadError)
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from extconf.rb:36:in `<main>'
Gem files will remain installed in /var/lib/gems/1.9.1/gems/bcrypt-ruby-3.0.1 for inspection.
Results logged to /var/lib/gems/1.9.1/gems/bcrypt-ruby-3.0.1/ext/mri/gem_make.out
и получить ошибку, а также.
Что я пропустил?
Ответы:
Есть похожие вопросы:
Обычно решение состоит в следующем:
Или, если это не сработает, в зависимости от вашей версии ruby , запустите что-то вроде:
Должен исправить вашу проблему.
Все еще не работает? Попробуйте следующее после установки ruby-dev:
источник
ruby1.9.1-dev
мне тоже пришлосьsudo apt-get install make
. Спасибо!sudo apt-get install ruby
(без указания версии), вам не нужно слишком беспокоиться о своей версии, если вы просто устанавливаетеsudo apt-get install ruby-dev
sudo apt-get install gcc make
Для WSL (подсистема Windows для Linux) вам необходимо установить
build-essential
пакет:источник
У меня была такая же проблема при попытке установить jquery-rails. Исправление было
источник
zlib1g-dev
даст вам то, что вам нужно здесь, или, по крайней мере, для меня.Я обнаружил, что мне нужно установить другую версию ruby. Так работает команда
а затем попытайтесь установить расширение
Если вы сталкиваетесь с проблемами, когда вам говорят, что у вас нет g ++, вы можете запустить следующую команду, чтобы установить его
источник
Только что закончил двухчасовую погоню за диким гусем, пытаясь решить эту проблему. Ни один из опубликованных ответов не работал для меня. Я на Mac (Mojave Версия 10.14.6, Xcode Версия 11.3).
Оказывается, заголовочные файлы ruby отсутствовали, поэтому мне пришлось запустить
open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg
Сначала это не сработало, потому что в версии CommandLineTools, которую я установил, не было папки «Packages». Так что я удалил и переустановил так:
rm -rf /Library/Developer/CommandLineTools
xcode-select --install
Затем я снова выполнил предыдущую команду:
open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg
После установки ошибка была исправлена!
источник
В случае, если у кого-то в будущем возникла эта проблема, я использую Mac и просто должен был установить инструменты командной строки, используя 'xcode-select --install'
источник
ruby-dev
установленоmake
установленоgem install pg
вам также нужно установить liblibpq-dev
(sudo apt-get install libpq-dev
).источник
Это также помогает убедиться, что libmysqlclient-dev установлен (Ubuntu 14.04)
источник
Это сработало для меня.
bundle config --global build.snappy --with-opt-dir="$(brew --prefix snappy)"
источник
В Mac для меня это работает:
источник
После некоторого поиска решения выясняется, что нужен пакет -dev, а не просто ruby1.8. Так что если у вас есть ruby1.9.1 делать
или чтобы установить общую версию ruby, используйте (согласно комментарию @lamplightdev):
должен это исправить.
Попробуйте найти mkmf, чтобы увидеть, есть ли файл там.
источник