rails mysql ruby-on-rails ruby rubygems mysql2

rails - Error al instalar mysql2: no se pudo crear la extensión nativa de la gema



ruby mysql (25)

Conseguí la gema incorporada en Mac OS X 10.6.6 por 1) Asegurando que el paquete de herramientas del desarrollador esté instalado 2) Descargando el paquete MySQL actual (5.5.8 en mi caso) de Source 3) Instalando la herramienta cmake desde cmake.org 4 ) Siguiendo las instrucciones en la sección 2.11 de INSTALL-SOURCE de los archivos de distribución de mysql 5) sudo gem install mysql2 -- --srcdir=/usr/local/mysql/include La gema se construyó correctamente, pero hay dos errores en la documentación que rdoc y ri se quejan. Pero ahora, cuando intento exigir ''mysql2'' obtengo un

LoadError: no such file to load -- mysql2/mysql2

Esperaba que el error que obtendría fuera que no se podía encontrar el libmysqlclient.16.dylib porque lo descubrimos en otra publicación (búsqueda de install_name_tool).

Mi $ PATH tiene / usr / local / mysql (ahí es donde se ubican mis archivos fuente y creados), así que estoy un poco perplejo. Si alguien tiene alguna idea, lo comprobaré después de unas horas de sueño.

Estoy teniendo algunos problemas al intentar instalar la gema mysql2 para Rails. Cuando intento instalarlo ejecutando bundle install o gem install mysql2 me da el siguiente error:

Error al instalar mysql2: ERROR: Error al crear la extensión nativa de la gema.

¿Cómo puedo solucionar esto e instalar exitosamente mysql2 ?


Después de corregir los problemas de mysql-dev, es posible que deba eliminar la mala instalación de mysql2. Mire cuidadosamente los mensajes después de $ bundle install. Usted puede necesitar

rm -rf vendor/cache/ rm -rf ./Zentest

Esto eliminará la mala instalación de mysql2 para que una instalación final de $ bundle pueda crear una buena.


En Debian Stretch, el paquete que funcionó para mí era default-libmysqlclient-dev

sudo apt-get update && apt-get install -y default-libmysqlclient-dev


En Ubuntu / Debian y otras distribuciones usando aptitude:

sudo apt-get install libmysql-ruby libmysqlclient-dev

El paquete libmysql-ruby ha sido eliminado y reemplazado por ruby-mysql . This es donde encontré la solución.

Si el comando anterior no funciona porque no se puede encontrar libmysql-ruby , lo siguiente debería ser suficiente:

sudo apt-get install libmysqlclient-dev

En Red Hat / CentOS y otras distribuciones usando yum:

sudo yum install mysql-devel

En Mac OS X con Homebrew :

brew install mysql


Está recibiendo este problema porque no ha instalado MySql. Antes de instalar mysql2 gema. Instalar MySQL. Después de eso mysql2 gema se instalará.


Esto solucionó mi problema una vez en Windows:

subst X: "C:/Program files/MySQL/MySQL Server 5.5" gem install mysql2 -v 0.x.x --platform=ruby -- --with-mysql-dir=X: --with-mysql-lib=X:/lib/opt subst X: /D


Estoy en un mac y uso Homebrew para instalar programas de código abierto. Tuve que instalar las herramientas de Mac Dev para instalar Homebrew, pero después de eso fue simple:

brew install mysql

para instalar mysql. No he tenido un problema de gemas mysql desde.



Me estaba encontrando con este error en mi mac y encontré que necesitaba actualizar de mysql 32bit a mysql 64 bit para que este error desapareciera. Estaba ejecutando OSX 10.6 en un Intel Macbook Pro con Ruby 1.9.2 y Rails3.0.0

También necesitaba instalar xcode para obtener utilidades de Unix como "make" que son necesarias para compilar la gema.

una vez hecho esto, pude ejecutar gem install mysql y gem install mysql2 sin error.


Obtuvo el "Primero debe instalar las herramientas de desarrollo". error al intentar instalar la gema mysql2 después de actualizar a Mac OS X Mountain Lion . Al parecer, al hacer esta actualización se eliminan los compiladores de la línea de comandos.

Arreglar:

  • Desinstalé mi versión muy antigua de Xcode (ejecuté el script de desinstalación en / Developer / Library). Luego borró el directorio / Developer.
  • Fui a la AppStore y descargué Xcode.
  • Lanzó Xcode y entró en Preferencias -> Descargas, e instaló las herramientas de línea de comandos.

Para usuarios de Windows: establece la lib e incluye la ruta de acceso de su mysql, por ejemplo, si está utilizando xampp, puede tener lo siguiente:

gem install mysql2 -- ''--with-mysql-lib="C:/xampp/mysql/lib" --withmysql-include="C:/xampp/mysql/include"''


Si estás usando yum prueba:

sudo yum install mysql-devel



Solo quería agregar esta respuesta específicamente para usuarios de Mac .

Mi servidor estaba funcionando perfectamente bien hasta que actualicé mi xcode. Mientras se iniciaba mi servidor de rieles, el error se mostraba así.

Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. /Users/user/.rvm/rubies/ruby-1.9.3-p448/bin/ruby extconf.rb --with-mysql- checking for rb_thread_blocking_region()... /Users/user/.rvm/rubies/ruby-1.9.3- p448/lib/ruby/1.9.1/mkmf.rb:381:in `try_do'': The compiler failed to generate an executable file. (RuntimeError)

Y hubo sugerencias para instalar la gema mysql2 al final del mensaje de error. Entonces, cuando intenté instalarlo, recibí el error mencionado anteriormente en esta pregunta. El error que tengo es el siguiente

ERROR: Error installing mysql2: ERROR: Failed to build gem native extension.

Así que como sugerí en esta publicación, probé ''brew install mysql'' y dejé de decir que la versión de mysql ya estaba instalada. Pero hubo una advertencia antes de que dijera

Warning: You have not agreed to the Xcode license. Builds will fail! Agree to the license by opening Xcode.app or running: xcodebuild -license

Luego probé este sudo xcodebuild -license y sudo xcodebuild -license "de acuerdo" al final. Tienes que ser root para aceptar la licencia.

Después de esto, volví a intentar instalar Bundle y luego todo funcionó bien como siempre. [Incluso debido a esta actualización de xcode, también tuve un problema con mi torre.]


También tengo este error. Resuelto mediante la instalación de paquetes de desarrollo. Estoy usando arco y fue:

sudo pacman -S base-devel

que instaló:

m4, autoconf, automake, bison, fakeroot, flex, libmpc, ppl, cloog-ppl, elfutils, gcc, libtool, make, patch, pkg-config

Pero creo que en realidad necesitaba make y gcc. Salida de error dicho (en mi máquina, entre otros):

"Primero debes instalar las herramientas de desarrollo".

Así que fue una decisión obvia y ayudó.


Tengo varias computadoras, procesador de 32 y 64 bits, se ejecutan en Ubuntu Linux, Maverick (10.10) versión.

Tuve el mismo problema, y ​​para mí, el sudo apt-get install libmysql-ruby libmysqlclient-dev hizo el trabajo !!!


Tienes que instalar algunas dependencias.

sudo apt-get install libmysql-ruby libmysqlclient-dev


Tuve este problema con mi Windows 7. Aparentemente este es un problema de incompatibilidad y la solución es la siguiente: Descargue el archivo mysql.dll de un instalador de InstantRails anterior. El enlace http://tinyurl.com/24ocp8u descargará solo el archivo mysql.dll (está vinculado al repositorio svn de InstantRails). A continuación, copie ese archivo en su carpeta de Ruby / bin. Ahora, eres bueno para ir;)



libmysql-ruby ha sido eliminado y reemplazado. Nuevo comando:

sudo apt-get install ruby-mysql libmysqlclient-dev


Aquí hay una solución para los usuarios de Windows , espero que ayude!

Usando MySQL con Rails 3 en Windows

  • Instale railsinstaller -> www.railsinstaller.org (lo instalé en c: / Rails)

  • Instalar MySQL (utilicé MySQL 5.5) -> dev.mysql.com/downloads/installer/

--- para la instalación de mySQL ---

Si aún no tiene estos dos archivos instalados, es posible que los necesite para activar su MySQL

vcredist_x86.exe -> http://www.microsoft.com/download/en/details.aspx?id=5555 dotNetFx40_Full_x86_x64.exe -> http://www.microsoft.com/download/en/details.aspx?id=17718

Utilizar la máquina de desarrollador de instalación predeterminada

-MySQL Server Config-
puerto: 3306
Nombre del servicio de Windows: MySQL55
mysql root pass: root (puedes cambiar esto más tarde)
(nombre de usuario: root)
-MySQL Server Config-

--- para la instalación de mySQL ---


--- Instalar la gema mysql2 ---

Importante: haga esto con la línea de comandos de Git Bash (esto se instaló con el instalador de rieles) -> start / Git Bash

gem install mysql2 - ''--with-mysql-lib = "c: / Archivos de programa / MySQL / MySQL Server 5.5 / lib" --with-mysql-include = "c: / Archivos de programa / MySQL / MySQL Server 5.5 / incluir"''

Ahora la gema debería haberse instalado correctamente.

Por último, copie el archivo libmysql.dll de
C: / Archivos de programa / MySQL / MySQL Server 5.5 / lib
a
C: / Rails / Ruby1.9.2 / bin

--- Instalar la gema mysql2 ---


Ahora podrá usar su aplicación Rails con MySQL, si no está seguro de cómo crear una aplicación Rails 3 con MySQL, lea en ...

--- Obtener una aplicación Rails 3 con MySQL ---

Abra el símbolo del sistema (no Git Bash) -> start / cmd
Navega a tu carpeta (c: / Sites)
Crear nueva aplicación de rieles.

rails new world

Elimine el archivo c: / Sites / world / public / index.html
Edite el archivo c: / Sites / world / config / route.rb
agregue esta línea -> root: to => ''cities # index''

Abrir el símbolo del sistema (generar vistas y controladores)

rails generate scaffold city ID:integer Name:string CountryCode:string District:string Population:integer



Edite el archivo c: / Sites / world / app / models / city.rb para que se vea así

class City < ActiveRecord::Base set_table_name "city" end

Edite el archivo c: / Sites / world / config / database.yml para que se vea así

development: adapter: mysql2 encoding: utf8 database: world pool: 5 username: root password: root socket: /tmp/mysql.sock

añadir a gemfile

gem ''mysql2''

Abra el símbolo del sistema de Windows cmd, no Git Bash (ejecute su aplicación!)
Navegue a la carpeta de su aplicación (c: / Sites / world)

rails s

Abra su navegador aquí -> http: // localhost: 3000

--- Obtener una aplicación Rails 3 con MySQL ---


La solución solo funciona en Mac OS X

Si ha instalado MySQL con homebrew, lo que funcionó para mí fue desinstalar MySQL e instalar MySQL Community Edition a través del sitio web de MySQL ( https://www.mysql.com/ ).

Después de la instalación, simplemente vuelva a ingresar el comando para gem install mysql2 o, si es necesario, sudo gem install mysql2 , si está obteniendo problemas de permiso denegado.


Otra forma para los usuarios de MacOS.

Si usaste "brew" para instalar mysql:

gem install mysql2 -v ''x.x.x'' -- --with-mysql-config=/usr/local/Cellar/mysql/y.y.y/bin/mysql_config

xxx = versión de la gema mysql2 que desea instalar
yyy = la versión de mysql que ha instalado ls /usr/local/Cellar/mysql para encontrarlo.


Para aquellos que usan Windows 7 y MySQL de 64 bits

Si desea utilizar MySQL de 64 bits, debe seguir las instrucciones here (también here ).

También hay un conector personalizado de 64 bits que funciona sin problemas.


Si sigues teniendo problemas ...

Intenta instalar

sudo apt-get install ruby1.9.1-dev