Tengo algunos problemas al intentar instalar mysql2
gem para Rails. Cuando intento instalarlo ejecutando bundle install
o gem install mysql2
me da el siguiente error:
Error al instalar mysql2: ERROR: no se pudo construir la extensión nativa de la gema.
¿Cómo puedo solucionar esto e instalar con éxito mysql2
?
Respuestas:
En Ubuntu / Debian y otras distribuciones usando aptitude:
El paquete
libmysql-ruby
se ha eliminado y reemplazado porruby-mysql
. Aquí es donde encontré la solución.Si el comando anterior no funciona porque
libmysql-ruby
no se puede encontrar, lo siguiente debería ser suficiente:En Red Hat / CentOS y otras distribuciones que usan yum:
En Mac OS X con Homebrew :
fuente
libmysqlclient-dev
fue suficiente.Estoy en una 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:
para instalar mysql No he tenido un problema de gemas mysql desde entonces.
fuente
brew link mysql --force
.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/
Ahora podrás usar tu aplicación Rails con MySQL, si no estás seguro de cómo crear una aplicación Rails 3 con MySQL sigue leyendo ...
--- Obtenga una aplicación Rails 3 con MySQL ---
Abra el símbolo del sistema (no Git Bash) -> inicio / cmd
Navegue a su carpeta (c: \ Sites)
Cree una nueva aplicación rails
Elimine el archivo c: \ Sites \ world \ public \ index.html
Edite el archivo c: \ Sites \ world \ config \ routes.rb
agregue esta línea -> root: to => 'cities # index'
Abrir símbolo del sistema (generar vistas y controladores)
Edite el archivo c: \ Sites \ world \ app \ models \ city.rb para que se vea así
Edite el archivo c: \ Sites \ world \ config \ database.yml para que se vea así
agregar a gemfile
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)
Abra su navegador aquí -> http: // localhost: 3000
--- Obtenga una aplicación Rails 3 con MySQL ---
fuente
gem install mysql2 -- --with-mysql-dir=C:\xampp\mysql
-- --with-mysql-dir="C:\xampp\mysql"
sin las comillas mis `` fueron despojados. GraciasTengo varias computadoras, procesador de 32 y 64 bits, se ejecutan en Ubuntu Linux, versión Maverick (10.10).
Tuve el mismo problema, y para mí, ¡
sudo apt-get install libmysql-ruby libmysqlclient-dev
hicieron el trabajo!fuente
Para 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
fuente
Otra forma para usuarios de MacOS
Si usó "brew" para instalar mysql:
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 encontrarla.fuente
¿Has intentado usar
para especificar la ubicación del directorio base, así como la ruta a las bibliotecas MySQL que son necesarias para completar la instalación de la gema?
Fuentes: MySQL Gem Install ERROR: Error al construir la extensión nativa de gem Foros MySQL :: Ruby :: Se necesita ayuda para instalar el enlace MySQL para Ruby
fuente
which mysql
y luego buscando ellib
directorio desde allí.Si está utilizando yum intente:
fuente
Esto resolvió mi problema una vez en Windows:
fuente
gem install mysql2 --platform=ruby -- --with-mysql-dir=X: --without-opt-dir
Si aún tienes problemas ...
Intenta instalar
fuente
Tuve este problema en Windows 7. Aparentemente, este es un problema de incompatibilidad y la solución es la siguiente:
Descargue el
libmySQL.dll
archivo de un instalador anterior de InstantRails. Está disponible en el repositorio InstantRails GitHub .Luego, copie ese archivo en su carpeta Ruby / bin.
Ahora estás listo para ir;)
fuente
bundle install
También recibí este error. Resuelto instalando paquetes de desarrollo. Estoy usando arch y fue:
que instaló:
pero creo que realmente necesitaba make y gcc. La salida de error dijo (en mi máquina, entre otras):
"Primero debe instalar las herramientas de desarrollo".
Fue una decisión obvia y ayudó.
fuente
Tienes que instalar algunas dependencias
fuente
En Debian Stretch, el paquete que funcionó para mí fue default-libmysqlclient-dev
sudo apt-get update && apt-get install -y default-libmysqlclient-dev
fuente
En mi caso esto ayudó:
Entonces:
Resultado:
Ver esta publicación (ADVERTENCIA: idioma japonés en el interior).
fuente
En Ubuntu (18.04)
pude resolver este problema ejecutando lo siguiente:
referencia
fuente
Me encontraba con este error en mi Mac y descubrí 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 se requieren para compilar la gema.
Una vez hecho esto, pude ejecutar gem install mysql y gem install mysql2 sin error.
fuente
Para usuarios de Windows: configura la lib e incluye la ruta de su mysql, por ejemplo, si está usando xampp puede tener esto:
fuente
La solución solo funciona en Mac OS X
Si instaló MySQL con homebrew, lo que funcionó para mí fue desinstalar MySQL e instalar MySQL Community Edition a través del sitio web MySQL ( https://www.mysql.com/ ).
Después de la instalación, simplemente vuelva a ingresar el comando
gem install mysql2
o, si es necesariosudo gem install mysql2
, si tiene problemas de permiso denegado.fuente
Obtuve la gema construida en Mac OS X 10.6.6 por 1) Asegurando que el paquete de herramientas para desarrolladores esté instalado 2) Descargando el paquete MySQL actual (5.5.8 en mi caso) desde la Fuente 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 de los que se quejan rdoc y ri. Pero ahora cuando trato de requerir 'mysql2' obtengo unEsperaba que el error que obtendría fuera que no se pudo encontrar libmysqlclient.16.dylib porque lo descubrimos en otra publicación (busque install_name_tool).
Mi $ PATH tiene / usr / local / mysql (ahí es donde se encuentran mi fuente y los archivos compilados), así que estoy un poco perplejo. Si alguien tiene alguna idea, volveré a consultar después de unas horas de sueño.
fuente
Si aún recibe el error, siga los pasos de instalación de la gema mysql2 en Rails 3 en -
http://rorguide.blogspot.com/2011/03/installing-mysql2-gem-on-ruby-192-and.html
donde la mayoría de los usuarios pudieron instalar mysql2 gem.
fuente
Después de corregir los problemas de mysql-dev, es posible que deba eliminar la instalación incorrecta de mysql2. Mire cuidadosamente los mensajes después de la instalación de $ bundle. Es posible que necesite
Esto eliminará la mala instalación de mysql2 para que una instalación final de $ bundle pueda crear una buena.
fuente
descargue la versión correcta de mysqllib.dll y luego cópielo en ruby bin realmente funciona para mí. Siga este enlace para obtener la gema mysql2 compilada para la biblioteca de cliente mysql incorrecta
fuente
Obtuve "Primero debes instalar las herramientas de desarrollo". error al intentar instalar la gema mysql2 después de actualizar a Mac OS X Mountain Lion . Aparentemente, esta actualización elimina los compiladores de línea de comandos.
Arreglar:
fuente
Tiene este problema porque no ha instalado MySql. Antes de instalar mysql2 gem. Instalar MySQL. Después de eso se instalará la gema mysql2.
fuente
Solo quería agregar esta respuesta específicamente para usuarios de Mac .
Mi servidor funcionaba perfectamente bien hasta que actualicé mi xcode. Mientras iniciaba mi servidor de rails, el error se mostraba así
Y se sugirió instalar mysql2 gem al final del mensaje de error. Entonces, cuando intenté instalarlo, recibí el error mencionado anteriormente en esta pregunta. El error que obtuve es el siguiente
Entonces, como se sugiere 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
Luego probé esto
sudo xcodebuild -license
y escribí 'estar de acuerdo' al final. Debes ser root para aceptar la licencia.Después de esto, nuevamente intenté la instalación del paquete y luego todo funciona bien como de costumbre. [Incluso debido a esta actualización de xcode, tuve problemas con mi torre también.]
fuente
libmysql-ruby
ha sido eliminado y reemplazado. Nuevo comando:fuente