Ruby MYSQL2 gem instalação no windows 7

Estou tentando instalar o gem mysql2 no windows 7 baixei o conector do site mysql e coloquei o libmysql.dll em ruby200 \ bin

então faça gem install mysql2

Estes são os resultados que estou sendo fraca aqui?

Temporarily enhancing PATH to include DevKit... Building native extensions. This could take a while... ERROR: Error installing mysql2: ERROR: Failed to build gem native extension. C:/Ruby200/bin/ruby.exe extconf.rb checking for rb_thread_blocking_region()... yes checking for rb_wait_for_single_fd()... yes checking for rb_hash_dup()... yes checking for rb_intern3()... yes *** 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=C:/Ruby200/bin/ruby --with-mysql-dir --without-mysql-dir --with-mysql-include --without-mysql-include=${mysql-dir}/include --with-mysql-lib --without-mysql-lib=${mysql-dir}/ extconf.rb:37:in `': undefined method `[]' for nil:NilClass (NoMethodError ) Gem files will remain installed in C:/Ruby200/lib/ruby/gems/2.0.0/gems/mysql2-0. 3.13 for inspection. Results logged to C:/Ruby200/lib/ruby/gems/2.0.0/gems/mysql2-0.3.13/ext/mysql2/g em_make.out 

EDITAR 30/09/2014

Quando esta resposta foi publicada, o instalador dos rails de 64 bits não era a versão recomendada – agora parece que as pessoas estão começando a usá-la mais. Deve-se notar quando você baixar o MySQL Connector você precisa baixar 64 ou 32bit para corresponder à versão dos rails que você instalou.

Por incrível que pareça, tive a sorte de responder muito cedo esta manhã, já que por acaso estava procurando por algo de natureza semelhante. Eu não tenho certeza porque não há um único guia simples para isso, pois parece ser muito simples!

Por alguma razão, apenas especificando o mysql-dir quando você instala a gem não pega com outros subdiretórios, então você precisa configurar os parâmetros manualmente.

Para qualquer outra pessoa que tenha o mesmo problema, fiz o seguinte:

1) Baixe o MySql C Connector em: http://dev.mysql.com/downloads/connector/c/

NOTA Não baixe o instalador, baixe o ARCHIVE para o seu sistema operacional

Faça o download do ARQUIVO de 32 ou 64 bits para corresponder à versão dos rails que você instalou.

2) Extraia o arquivo para C: \ mysql-connector

3) Então corri:

  gem install mysql2 --platform=ruby -- '--with-mysql-lib="C:\mysql-connector\lib" --with-mysql-include="C:\mysql-connector\include" --with-mysql-dir="C:\mysql-connector"' 

Voila tudo está funcionando bem.

EDITAR 30/01/2014

Eu só tive que fazer uma nova instalação em uma máquina emparedada e o comando na etapa 3 não funcionou, o que funcionou foi:

 gem install mysql2 --platform=ruby -- '--with-mysql-dir="C:\mysql-connector"' 

Eu não tenho certeza qual é a diferença, mas desta vez parece que está pegando os diretórios ok, então se o primeiro não funcionar tente esse!

Eu acho que isso tem a ver com a maneira como você instala os rails, desta vez eu usei o railsinstaller que parece configurar os caminhos corretamente.

Muito do resultado aqui parece depender do shell que você está usando, muitas pessoas estão tendo problemas com o PowerShell, então eu não aconselho usá-lo. Eu fiz isso em um prompt de comando elevado.

Ah, e finalmente, se você receber um erro sobre o gem mysql2 quando você faz TRILHOS S, você precisa copiar o libmysql.dll do diretório LIB do conector mysql para o diretório bin onde os rails foram instalados.

Eu tentei a solução do @Mrk Fldig mas não funcionou … Então o que resolveu o problema foi:

  1. Baixou o último instalador do MySQL para o Windows 7 32 bits
  2. Instalei a gem com o seguinte comando: gem install mysql2 --platform=ruby -- '--with-mysql-dir="C:/Program Files/MySQL/MySQL Connector C 6.1 6.1.2/"'

Uma armadilha a ter em conta é que mudei as barras invertidas (\) para barras normais (/). Eu tentei o mesmo procedimento com barras invertidas e não funcionou.

O instalador já inclui os conectores C para o MySQL no diretório MySQL Connector C 6.1 6.1.2 . Portanto, passando apenas o parâmetro --with-mysql-dir sem os parâmetros --with-mysql-lib ou --with-mysql-include , faz com que a gem olhe o mesmo diretório para os diretórios lib e include

Etapas para o Ruby 2.1.3, o Windows 8.1 e o MySQL Server 5.7. Tudo x64 bits.

  1. Download do Kit de Desenvolvimento
  2. Kit de desenvolvimento extraído.
  3. Execute o CMD e vá para dir, onde o Development Kit foi extraído
  4. Execute o ruby dk.rb init
  5. Execute a ruby dk.rb install
  6. Execute gem install mysql2 -- '--with-mysql-lib="c:\Program Files\MySQL\MySQL Server 5.7\lib" --with-mysql-include="c:\Program Files\MySQL\MySQL Server 5.7\include" --with-mysql-dir="c:\Program Files\MySQL\MySQL Server 5.7"'

Isto é o que funcionou para mim para o mesmo erro no Windows 8 de 64 bits e usando ruby ​​de 64 bits

  1. Baixe e instale o servidor MySQL 5.6 de 64 bits
  2. Execute este comando:

     gem install mysql2 -v '0.3.16' -- '--with-mysql-lib="c:\Program Files\MySQL\MySQL Server 5.6\lib" --with-mysql-include="c:\Program Files\MySQL\MySQL Server 5.6\include"' 

Espero que isto ajude

Eu tentei todos os methods fornecidos, mas o mesmo erro aparece de novo e de novo 🙁

Felizmente, a versão antiga instalada sem erros!

 gem uninstall mysql2 gem install mysql2 -v 0.2.6 

Tente seguir estes passos:

Eu assumo:

  • a) você usa windows7
  • b) ruby 2+ em C: \ Ruby200-x64
  • c) rails 4+ instalados no ruby
  • d) WAMP instalado em C: \ wamp e funcionando

1) desinstalar sua gem mysqq2:

 $ gem uninstall mysql2 

2) reinstalar a gem mysql2 com opção de caminho:

 $ gem install mysql2 -- '--with-mysql-lib="C:\wamp\bin\mysql\mysql5.6.12\lib" --with-mysql-include="C:\wamp\bin\mysql\mysql5.6.12\include"' 

3) copie o arquivo libmysql.dll que você encontra em C: \ wamp \ bin \ mysql \ mysql5.6.12 \ lib para C: \ Ruby200-x64 \ bin

4) abra em seu aplicativo rails o arquivo “Gemfile” e edite-o habilitando o mysql2, adicionando:

 gem 'mysql2' 

5) inicie seu servidor rails:

 $ rails server 

6) abra seu navegador e vá para localhost: 3000 /

Eu ainda estou tendo problema com o mysql2 gem, mas a abordagem abaixo me ajudou a instalar o mysql com o RoR no Windows Env.

Etapa 1: alterações no arquivo Gem: ({app} / Gemfile)

Atualize o mysql2 -> mysql

Etapa 2: Atualizações no arquivo database.yml ({app} /config/database.yml)

Mude o adaptador: mysql2 -> adapter: mysql

host: localhost -> host: 127.0.0.1

Etapa 3: Baixar o mysql-connector-c-noinstall-6.0.2-win32

Passo 4: Copie o arquivo mysql-connector-c-noinstall-6.0.2-win32 \ lib \ libmysql.dll para C: \ RailsInstaller \ Ruby1.9.3 \ bin

Etapa 5: atualização do pacote && Start rails server

Veja o que funcionou para mim:

 gem install mysql2 -- '--with-mysql-dir="C:\wamp\bin\mysql\mysql5.5.xx"' 

Estive procurando por algumas horas e não vi essa variação sugerida, por isso espero que ajude alguém!

Também tente desabilitar seu antivírus antes de instalar a gem. O meu foi instalado depois que eu corri o seguinte comando:

 gem install mysql2 --platform=ruby -- '--with-mysql-lib= "C:\mysql-connector\lib" --with-mysql-include="C:\mysql-connector\include" --wit h-mysql-dir="C:\mysql-connector"' 

O mesmo comando não estava funcionando quando meu antivírus foi habilitado, já que ele estava enviando algum arquivo ruby ​​para o baú. Espero que isso ajude alguém.

Para o Cygwin, eu poderia consolidar várias etapas.

  1. Use cygwin setup.exe para fazer o download do gcc, g ++, make, cmake e libmysqlclient-devel (a partir de portas cygwin)
  2. Faça o download do c / connector src para windows a partir do site mysql. Eu baixei a versão 6.x. OU baixe a versão do libmysqlclient-devel (não tenho certeza de onde)
  3. descompactar
  4. cd dir_connector
  5. Não é necessário e RISKY, mas se a versão libmysqlclient-devel do cygwin for 5.5.40, altere as versões do arquivo dir_connector / VERSION para 5.5.40
  6. mkdir build
  7. compilation cd
  8. comentário dtoa em stdlib.h, outra compilation está falhando
  9. cmake ..
  10. faço
  11. faça instalar
  12. gem install mysql2 – –com-mysql-config = / usr / local / mysql / bin / mysql_config

Eu baixei o devkit de 32 bits, com o meu pc de 64 bits, porém eu percebo que o railsinstaller aparentemente instala uma versão de 32 bits por padrão, então eu direcionei todas as facilidades de 32 bits.

Inicialize o init do rubk devkit dk.rb

Faça o download do conector mysql de 32 bits e coloque-o no conector C: \ mysql do conector mysql

Você deve estar ciente de que, quando descompacta o arquivo, ele cria uma subpasta com o mesmo nome e pode gerar erros.

Em seguida, use o segundo comando listado acima:

 gem install mysql2 - platform = ruby - '- with-mysql-dir = "C: \ mysql-connector"' 

Essa foi a solução que encontrei, pois tive o mesmo problema.

No Windows 7, descobri que as respostas existentes ofereciam uma solução parcial, mas ainda não consegui instalá-lo.

O problema que tive foi que o instalador do MySQL Community Edition do Windows que eu usei insistia em colocar os conectores em pastas chamadas coisas como C:\MySQL\MySQL Connector C 6.1.3 . O processo de construção na gem estava relatando que não foi possível encontrar “C: \ MySQL \ MySQL” (e antes disso, quando eu o tinha em Program Files, ele reclamou que não encontrou “C: \ Program \ includes”) claramente os espaços eram um problema e eu não pude achar um modo para os escaping que poderia entender – possivelmente alguém poderá sugerir um desses.

Porque eu não tinha certeza se mudar isso iria quebrar a instalação, uma vez que eu percebi porque o problema estava surgindo eu apenas criei um link simbólico a partir da linha de comando (algo que é mais fácil do cmd que do powershell) assim:

 C:\MySQL> mklink /D ConnectorC ".\MySQL Connector C 6.1.3" 

Então eu poderia usar a seguinte linha de instalação:

  gem install mysql2 --platform=ruby -- '--with-mysql-dir="C:/MySQL/ConnectorC/"' 

Isso funcionou corretamente.

Além disso, quando eu tentei usá-lo, eu corri para este problema, então pode ser útil estar ciente de que mover o arquivo lib do MySQL da pasta lib do C Connector pode ser útil.

Eu consegui ter sucesso nisso por pura sorte, mas depois de uma hora de inferno eu sinto que devo compartilhar minha solução, obviamente muito encurtada, mas muitos dos passos que eu acho que você pode descobrir como fazer por conta própria.

Minha máquina é Win 7 64bit. Consegui instalar a versão 0.3.16

  1. Instale a versão ruby ​​2.0.0p481 (?)
  2. Devkit blá blá
  3. Instale a versão 4.0.0 dos rails
  4. Baixe o arquivo zip Mysql Connector C de 64 bits, coloque na unidade C como mysqlc
  5. Pegue a DLL desse bin, coloque em lib of ruby
  6. gem install mysql2 – – com-mysql-dir = “C: \ mysqlc”

Funcionou para mim depois de adicionar alguns ajustes

 gem install mysql2 --platform=ruby -- '--with-mysql-lib="C:\Program Files\MySQL\MySQL Connector C 6.1.5\lib" --with-mysql-include="C:\Program Files\MySQL\MySQL Connector C 6.1.5\include" --with-mysql-dir="C:\Program Files\MySQL\MySQL Connector C 6.1.5" 

Nada disso funcionou para mim, até que percebi que eu tenho a versão de 64 bits do DevKit instalada. Então baixei o MySQL Connector / C de 64 bits do site da MySQL

e instalei a gem com a opção “with-mysql-dir”

Aqui está o que eu fiz para o windows server 2012 sp2. Nada mais funcionou …

Depois de receber o erro 'while installing mysql2 (0.3.17), and bundler cannot continue' Make sure that 'gem install mysql2 -v '0.3.17' succeeds...

1) Baixe o MySql C Connector em: http://dev.mysql.com/downloads/connector/c/

2) Extract the file to C:\mysql-connector

3) gem install mysql2 -v '0.3.17' --platform=ruby -- '--with-mysql-dir="C:\mysql-connector"'

Nota: o -v ‘0.3.17’ acima, não funcionaria sem isso.

4) bundle install -> Finalmente, sucesso.