Estou tendo alguns problemas ao tentar instalar o mysql2
gem para Rails. Quando tento instalá-lo executando bundle install
ou gem install mysql2
ele me dá o seguinte erro:
Erro ao instalar o mysql2: ERRO: Falha ao criar a extensão nativa gem.
Como posso corrigir isso e instalar com êxito mysql2
?
Respostas:
No Ubuntu / Debian e outras distribuições usando o aptitude:
O pacote
libmysql-ruby
foi descontinuado e substituído porruby-mysql
. Foi aqui que encontrei a solução.Se o comando acima não funcionar porque
libmysql-ruby
não pode ser encontrado, o seguinte deve ser suficiente:No Red Hat / CentOS e outras distribuições usando yum:
No Mac OS X com Homebrew :
fonte
libmysqlclient-dev
foi suficiente.Estou em um mac e uso homebrew para instalar programas de código aberto. Eu tive que instalar as ferramentas do Mac Dev para instalar o homebrew, mas depois disso foi simples:
instalar o mysql. Eu não tive um problema de gema mysql desde então.
fonte
brew link mysql --force
.Aqui está uma solução para os usuários do Windows , espero que ajude!
Usando o MySQL com o Rails 3 no Windows
Instale o railsinstaller -> www.railsinstaller.org (instalei-o em c: \ Rails)
Instale o MySQL (usei o MySQL 5.5) -> dev.mysql.com/downloads/installer/
Agora você poderá usar seu aplicativo Rails com o MySQL, se não tiver certeza de como criar um aplicativo Rails 3 com o MySQL lido em ...
--- Obtenha um aplicativo Rails 3 com MySQL ---
Abra o prompt de comando (não o Git Bash) -> start / cmd
Navegue até sua pasta (c: \ Sites)
Crie um novo aplicativo rails
Exclua o arquivo c: \ Sites \ world \ public \ index.html
Edite o arquivo c: \ Sites \ world \ config \ routes.rb
adicione esta linha -> root: to => 'cities # index'
Prompt de comando aberto (gerar visualizações e controladores)
Edite o arquivo c: \ Sites \ world \ app \ models \ city.rb para ficar assim
Edite o arquivo c: \ Sites \ world \ config \ database.yml para ficar assim
adicionar ao gemfile
Abra o prompt de comando do Windows cmd, não o Git Bash (execute seu aplicativo!)
Navegue até a pasta do aplicativo (c: \ Sites \ world)
Abra o navegador aqui -> http: // localhost: 3000
--- Obtenha um aplicativo Rails 3 com MySQL ---
fonte
gem install mysql2 -- --with-mysql-dir=C:\xampp\mysql
-- --with-mysql-dir="C:\xampp\mysql"
sem as aspas minhas `` foram removidas. ObrigadoEu tenho vários computadores, processadores de 32 e 64 bits, eles rodam no Ubuntu Linux, versão Maverick (10.10).
Eu tive o mesmo problema e, para mim,
sudo apt-get install libmysql-ruby libmysqlclient-dev
fez o trabalho !!!fonte
Para o MacOS Mojave :
gem install mysql2 -v '0.5.2' -- --with-ldflags=-L/usr/local/opt/openssl/lib --with-cppflags=-I/usr/local/opt/openssl/include
fonte
Outra maneira para usuários de MacOS
Se você usou "brew" para instalar o mysql:
xxx = versão do gem do mysql2 que você deseja instalar
yyy = a versão do mysql que você instalou
ls /usr/local/Cellar/mysql
para encontrá-lo.fonte
Você já tentou usar
especificar a localização do diretório base, bem como o caminho para as bibliotecas MySQL necessárias para concluir a instalação da gem?
Fontes: MySQL Gem Install ERRO: Falha ao criar a extensão nativa gem Gem MySQL Forums :: Ruby :: Ajuda necessária na instalação da ligação do MySQL para Ruby
fonte
which mysql
e depois encontrando olib
diretório a partir daí.Se você estiver usando o yum, tente:
fonte
Isso resolveu meu problema uma vez no Windows:
fonte
gem install mysql2 --platform=ruby -- --with-mysql-dir=X: --without-opt-dir
Se você ainda está tendo problemas….
Tente instalar
fonte
Eu tive esse problema no Windows 7. Esse é aparentemente um problema de incompatibilidade e a solução é a seguinte:
Faça o download do
libmySQL.dll
arquivo em um instalador mais antigo do InstantRails. Está disponível no repositório InstantRails GitHub .Em seguida, copie esse arquivo para sua pasta Ruby / bin.
Agora, você está pronto para ir;)
fonte
bundle install
.Também recebi esse erro. Resolvido instalando pacotes de desenvolvimento. Estou usando o arch e foi:
que instalou:
mas acho que realmente precisava de make e gcc. A saída de erro dizia (na minha máquina, entre outros):
"Você precisa instalar as ferramentas de desenvolvimento primeiro."
Portanto, foi uma decisão óbvia e ajudou.
fonte
Você precisa instalar algumas dependências
fonte
No Debian Stretch, o pacote que funcionou para mim foi default-libmysqlclient-dev
sudo apt-get update && apt-get install -y default-libmysqlclient-dev
fonte
No meu caso, isso ajudou:
Então:
Resultado:
Veja este post (AVISO: idioma japonês dentro).
fonte
No Ubuntu (18.04)
Consegui resolver esse problema executando o seguinte:
referência
fonte
Eu estava enfrentando esse erro no meu mac e descobri que precisava atualizar o mysql 32bit para o mysql 64 bits para obter esse erro. Eu estava executando o OSX 10.6 em um intel macbook pro com ruby 1.9.2 e rails3.0.0
Eu também precisava instalar o xcode para obter utilitários unix como "make", necessários para compilar a gema.
Uma vez feito isso, fui capaz de executar o gem install mysql e o gem install mysql2 sem erros.
fonte
Para usuário do Windows: Você define a lib e inclui o caminho do seu mysql, por exemplo, se você estiver usando o xampp, poderá ter o seguinte:
fonte
A solução funciona apenas no Mac OS X
Se você instalou o MySQL com homebrew, o que funcionou para mim foi desinstalar o MySQL e instalar o MySQL Community Edition através do site do MySQL ( https://www.mysql.com/ ).
Após a instalação, basta digitar novamente o comando
gem install mysql2
ou, se necessáriosudo gem install mysql2
, se você estiver recebendo problemas de permissão negada.fonte
Eu desenvolvi o gem construído no Mac OS X 10.6.6 por 1) Garantindo a instalação do pacote de ferramentas para desenvolvedores 2) Fazendo o download do pacote atual do MySQL (5.5.8 no meu caso) da fonte 3) Instalando a ferramenta cmake em cmake.org 4 ) Seguindo as instruções na seção 2.11 de INSTALL-SOURCE dos arquivos de distribuição do mysql 5)
sudo gem install mysql2 -- --srcdir=/usr/local/mysql/include
A gem foi criada com sucesso, mas há dois erros na documentação que os rdoc e ri se queixam. Mas agora, quando tento exigir 'mysql2', recebo umaEu esperava que o erro que recebesse fosse que o libmysqlclient.16.dylib não pudesse ser encontrado porque descobrimos isso em outra postagem (procure por install_name_tool).
Meu $ PATH tem / usr / local / mysql (é onde meus arquivos de origem e de construção estão localizados), então estou um pouco perplexo. Se alguém tiver alguma ideia, volto depois de algumas horas de sono.
fonte
Se ainda estiver recebendo erro, siga as etapas de instalação do mysql2 gem no Rails 3 em -
http://rorguide.blogspot.com/2011/03/installing-mysql2-gem-on-ruby-192-and.html
onde a maioria dos usuários conseguiu instalar o mysql2 gem.
fonte
Depois de corrigir os problemas do mysql-dev, talvez seja necessário remover a instalação incorreta do mysql2. Observe atentamente as mensagens após a instalação do $ bundle. Você pode precisar
Isto irá limpar a instalação incorreta do mysql2, para que uma instalação final do $ bundle possa criar uma boa.
fonte
baixe a versão correta do mysqllib.dll e copie-a para o ruby bin realmente funciona para mim. Siga este link: gem do mysql2 compilado para uma biblioteca cliente mysql incorreta
fonte
Obteve o "Você precisa instalar as ferramentas de desenvolvimento primeiro". erro ao tentar instalar a jóia do mysql2 após a atualização para o Mac OS X Mountain Lion . Aparentemente, fazer essa atualização remove os compiladores da linha de comando.
Consertar:
fonte
Você está recebendo esse problema porque não instalou o MySql. Antes de instalar o mysql2 gem. Instale o MySQL. Depois disso, o mysql2 gem será instalado.
fonte
Eu só queria adicionar esta resposta especificamente para usuários de Mac .
Meu servidor estava funcionando perfeitamente até atualizar meu xcode. Enquanto iniciava meu servidor Rails, o erro era mostrado assim
E houve uma sugestão para instalar o mysql2 gem no final da mensagem de erro. Então, quando eu tentei instalá-lo, recebi o erro acima mencionado nesta pergunta. O erro que recebi é o seguinte
Então, como sugerido neste post, tentei 'brew install mysql' e isso parou de dizer que a versão do mysql já estava instalada. Mas houve um aviso antes de dizer
Então eu tentei isso
sudo xcodebuild -license
e digite 'concordo' no final. Você precisa ser root para concordar com a licença.Depois disso, tentei novamente instalar o pacote e tudo está funcionando normalmente. [Mesmo devido a essa atualização do xcode, também tive problemas com a minha torre.]
fonte
libmysql-ruby
foi eliminado e substituído. Novo comando:fonte