Gem::LoadError
Specified 'mysql2' for database adapter, but the gem is not loaded.
Add `gem 'mysql2'` to your Gemfile
Este erro ocorreu ao carregar os seguintes arquivos:
active_record/base
Este é o erro que recebo ao executar o servidor Rails.
The mysql2 gem has been added to the Gemfile as well.
Já fiz bundle install
e tentei reiniciar o servidor, mas ainda recebo o erro.
ruby-on-rails
mysql2
gemfile
Mysoulisinseoul
fonte
fonte
bundle
após adicionar a gema e reiniciou o servidor?bundle install --deployment
Respostas:
Se você tiver este erro ao atualizar para o rails 4.2.4 (também com o rails 4.1.5), tente usar esta versão do mysql2:
Aparentemente, o mysql2 ainda não é compatível com a versão mais recente do rails porque o rails 4.2.4 é muito novo quando eu respondi essa pergunta em 8 de setembro de 2015, então use a linha acima em seu arquivo Gem e execute:
Você deve estar pronto para ir
fonte
Funcionou para mim quando especifiquei uma versão gem do mysql2 antes da mais nova (0.4.0). Por alguma razão, há um problema com Rails 4.2.4 e aquele gem 0.4.0. Então, para resolver o problema, eu apenas especifiquei a gema anterior lançada: 0.3.20 e funcionou bem para mim!
Você pode verificar todas as versões de gems aqui: https://rubygems.org/gems/mysql2/versions
fonte
Mudar para
em seu Gemfile.
Este tópico no Github oficial do mysql2 diz para fazer isso. Você precisa declarar o número da versão se for rails versão 4.xx
https://github.com/brianmario/mysql2/issues/675
Então corra
bundle update mysql2
.fonte
bundle update
pois isso irá atualizar todas as suas joias. O comando ébundle update mysql2
. Pode parecer óbvio, mas é o comando errado e pode ter consequências indesejadas. (Para reverterbundle update
, executegit checkout -- Gemfile.lock
)Recebi o mesmo erro após uma atualização para Rails 4.1 e consegui resolvê-lo atualizando mysql2. Execute isto na pasta do seu aplicativo Rails:
fonte
Este problema pode ocorrer se você estiver usando uma versão mais recente do rails> 4
Faça estes dois passos simples, vai funcionar. Abra seu Gemfile e encontre a linha abaixo
substitua essa linha por uma versão específica do mysql como abaixo
Agora pare o servidor e execute o pacote
Agora reinicie seu servidor. Deve funcionar.
fonte
Sendo iniciante no ruby, não consegui descobrir a linha gem 'mysql2', '~> 0.3.18'
significa simplesmente ir para a pasta do projeto rails e então há uma linha para mysql2 que será como 0.4 * então você pode alterá-lo para gem 'mysql2', '~> 0.3.18'
e como temos uma nova definição, temos que reconstruir a dependência para fazer aquele comando simples, conforme explicado na instalação do pacote superior
fonte
Ele não carrega mysql2 gem porque a nova versão do mysql2 (0.4.1) gem não pode carregar o mysql2_adaptor. Isso está funcionando para mim.
e corra
fonte
Eu tive o mesmo erro e isso ocorre porque Rails 4.1 requer no mínimo mysql2 versão 0.3.13, e o máximo compatível com Windows é a versão 0.3.11.
Então editei o arquivo
c:\RailsInstaller\Ruby1.9.3\lib\ruby\gems\1.9.1\gems\activerecord-4.1.1\lib\active_record\connection_adapters\mysql2_adapter.rb
e mudei a linhagem 'mysql2', '~> 0.3.13'
paragem 'mysql2', '~> 0.3.11'
, e funciona até agora.fonte
Aqui está como eu consertei isso:
Créditos: como desfazer a instalação do pacote --sem
fonte
Ele não carrega mysql2 gem porque a nova versão do mysql2 (> = 0.4.0) gem não pode carregar o mysql2_adaptor. Você pode tentar isso?
gem 'mysql2', '~> 0.3.13'
Esperançosamente, deve funcionar.
fonte
Resolvi o problema, instalando o local gem mysql2 (gem install mysql2, bundle install) e adicionando a seguinte linha ao Gemfile:
gem 'mysql2'
Configurando o adaptador mysql2 em database.yml
adapter: mysql2
também foi importante!
fonte
Sou totalmente novo em Ruby on Rails e sites, mas ouço o que funcionou para mim.
Eu tive que mudar meu gemfile, gem 'mysql2' para gem 'mysql2', '~> 0.3.13' então em rails eu digitei bundle install e tentei rails se tive erros, então tentei bundle update mysql2 então em rails digitei rails s, e funcionou
fonte
Resolvi o problema instalando o libmysqlclient-dev. sudo aptitude instale libmysqlclient-dev e depois execute o pacote.
fonte
Eu instalei anteriormente o mysql2 0.4.5, mas isso estava me dando este erro, então instalei outra versão do mysql2 por:
gem install mysql2 - versão 0.3.20
Espero que isso resolva seu problema.
fonte