Ruby 1.9.3
A parte do Gemfile
#...............
gem "pony"
gem "bcrypt-ruby", :require => "bcrypt"
gem "nokogiri"
#..................
Quando estou tentando instalar gemas, recebo um erro
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.
Então eu estou fazendo isso
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
e recebendo um erro também.
Do que eu senti falta?
Respostas:
Existem perguntas semelhantes:
Geralmente, a solução é:
Ou, se isso não funcionar, dependendo da sua versão do ruby , execute algo como:
Deve corrigir seu problema.
Ainda não funciona? Tente o seguinte depois de instalar o ruby-dev:
fonte
ruby1.9.1-dev
eu tive que tambémsudo apt-get install make
. Obrigado!sudo apt-get install ruby
(sem especificar a versão), então você não precisa se preocupar com a sua versão muito se você acabou de instalarsudo apt-get install ruby-dev
sudo apt-get install gcc make
Para o WSL (Windows Subsystem for Linux), você precisa instalar o
build-essential
pacote:fonte
Eu tive o mesmo problema ao tentar instalar o jquery-rails. A correção foi
fonte
zlib1g-dev
o que você precisa aqui, ou pelo menos para mim.Eu descobri que precisava instalar outra versão do ruby. Então, executando o comando
e tente instalar a extensão
Se você tiver problemas nos quais está informando que não possui o g ++, execute o seguinte comando para instalá-lo
fonte
Acabei de terminar uma perseguição de ganso selvagem de 2 horas tentando resolver isso. Nenhuma das respostas postadas funcionou para mim. Estou em um Mac (Mojave versão 10.14.6, Xcode versão 11.3).
Acontece que os cabeçalhos de arquivo ruby estavam faltando, então eu tive que executar
open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg
Isso não funcionou para mim no começo, porque a versão do CommandLineTools que eu havia instalado não tinha a pasta "Pacotes". Então eu desinstalei e reinstalei assim:
rm -rf /Library/Developer/CommandLineTools
xcode-select --install
Em seguida, executei o comando anterior novamente:
open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg
Após a instalação, o erro foi corrigido!
fonte
Caso alguém no futuro tenha esse problema, estou usando um Mac e só precisei instalar as Ferramentas de Linha de Comando usando 'xcode-select --install'
fonte
ruby-dev
está instaladomake
está instaladogem install pg
você também precisará instalar a liblibpq-dev
(sudo apt-get install libpq-dev
).fonte
Também ajuda a garantir que o libmysqlclient-dev esteja instalado (Ubuntu 14.04)
fonte
Isso funcionou para mim.
bundle config --global build.snappy --with-opt-dir="$(brew --prefix snappy)"
fonte
No Mac, para mim, isso funciona:
fonte
Após alguma pesquisa por uma solução, o pacote -dev é necessário, não apenas o ruby1.8. Então, se você tem o ruby1.9.1 fazendo
ou para instalar a versão genérica do ruby, use (como no comentário @lamplightdev):
deve consertá-lo.
Tente localizar o mkmf para ver se o arquivo está realmente lá.
fonte