2012-02-22 14 views
21

Estoy instalando una nueva aplicación Heroku para Rails 3.1, Ruby 1.9.2. El problema está en hacer 'heroku db: push' para poblar la base de datos (que ha sido debidamente esquematizada, el único problema ahora es obtener algunos datos). Se produce el siguiente informe:Heroku db: push falla con segfault

/Users/upstill/.rvm/gems/ruby-1.9.2-p290/gems/sqlite3-1.3.5/lib/sqlite3/sqlite3_native.bundle: [ERROR] fallo de segmentación

rubí 1.8.7 (2010-01-10 Patchlevel 249) [universal-darwin11.0]

trampa Abort: 6

Este es desconcertante por dos razones: una, Estoy usando una base de datos postgresql localmente y en heroku (debidamente declarada en config/database.yml). Y dos, ¿dónde tiene que ver ruby ​​1.8.7 con algo? rvm está configurado para 1.9.2, está en mi camino, y aún heroku está tratando de ejecutarlo? ¿Lo que da?

Gracias, Steve Upstill

+1

me sale el mismo error, excepto cuando se utiliza rubí 1.9.3-p125 He intentado hacer retroceder la versión sqlite3 joya a 1.3.3 y 1.3.4 sin cambio yo.. También estoy muy confundido acerca de esta referencia de Ruby 1.8.7 en la salida de la línea de comandos. Ni siquiera tengo instalado Ruby 1.8.7. –

+0

Sospecho que esto es porque Heroku Toolbelt no anticipa el juego shell que rvm juega, sino que espera ingenuamente utilizar siempre la versión de Ruby con la que estaba instalado. En mi caso, pude hacer que 'heroku db: pull' funcionara en Ruby 1.9.3 (pero no en 1.8.7 o 2.0). Esto puede deberse a que instalé Heroku Toolbelt mientras estaba en 1.9.3. Cuando ejecuté 'heroku db: pull' bajo Ruby 2.0, el error de SEGFAULT me dio lectura: ' /Users/adam/.rvm/gems/ruby-2.0. 0-p0/gems/sqlite3-1.3.7/lib/sqlite3/sqlite3_native.bundle: [BUG] Error de segmentación ruby ​​1.9.3p194 (2012-04-20 revisión 35410) [x86_64-darwin10.8.0] ' –

+0

grifos y db: push y db: pull pronto será reemplazado. He abierto un problema si alguien quiere probarlo antes https://github.com/heroku/heroku-pg-extras/issues/42 – Will

Respuesta

52

También tuve este problema, fue extremadamente molesto pero eventualmente lo conseguí. Tenía instalado el cinturón de herramientas, pero comenzó a trabajar una vez que hice esto:

gem install heroku 
sudo gem install taps 

Sí, el cinturón de herramientas ya está instalado pero creo que esto realmente lo arregló. Mucha gente tiene este problema, no estás solo.

Esperanza esto ayuda (:

+0

Esto solucionó el problema para mí – ewalk

+0

¡Trabajó para mí también! –

+1

No tengo idea de por qué esto debería haber funcionado, pero lo hizo. Gracias. – barelyknown

1

Su código está tratando de ejecutar la versión 1.9.2 de SQLite usando Rubí 1.8.7.

Sugeriría cambiar a 1.9.2 antes de probar su impulso.

rvm use 1.9.2-p290 
heroku db:push 

Lo ideal es que desee cambiar a 1.9.2 punto.

+2

Eso es lo raro: ESTOY usando 1.9.2, según rvm . Además, mi base de datos es Postgresql en ambos extremos, entonces ¿por qué está monkeying con Mysql en absoluto? –

+0

grifos tiene una dependencia en SQLite –

+0

... y (Grifos) es necesario para obtener bases de datos dentro y fuera de Heroku http://devcenter.heroku.com/articles/taps a través de 'heroku db: push' –

Cuestiones relacionadas