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.
Has intentado usar
gem install mysql -- --with-mysql-lib=/usr/lib/mysql/lib
¿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 crear la extensión nativa de la gema MySQL Forums :: Ruby :: Se necesita ayuda para instalar el enlace de MySQL para Ruby
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
Si sigue recibiendo el error, siga los pasos de la 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 la gema mysql2.
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;)
descargue la versión correcta de mysqllib.dll y luego cópiela en Ruby Bin realmente funciona para mí. Siga este enlace plases mysql2 gema compilada para la biblioteca de cliente mysql incorrecta
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