2012-02-22 13 views
21

Sto installando una nuova app di Heroku per Rails 3.1, Ruby 1.9.2. Il problema sta nel fare 'heroku db: push' per popolare il database (che è stato debitamente schematizzato - l'unico problema ora è averne alcuni dati). Viene a mancare con il seguente rapporto:Heroku db: push fallisce con segfault

/Users/upstill/.rvm/gems/ruby-1.9.2-p290/gems/sqlite3-1.3.5/lib/sqlite3/sqlite3_native.bundle: [BUG] errore di segmentazione

rubino 1.8.7 (2010-01-10 patchlevel 249) [universal-darwin11.0]

trappola interruzione: 6

Questo è sconcertante per due ragioni: uno, sto usando un database postgresql sia localmente che su heroku (debitamente dichiarato in config/database.yml). E due, dove ha a che fare il rubino 1.8.7 con qualcosa? rvm è impostato per 1.9.2, è sul mio percorso, eppure heroku sta cercando di eseguirlo? Cosa dà?

Grazie, Steve Upstill

+1

ottengo lo stesso errore tranne quando si utilizza ruby ​​1.9.3-p125 Ho provato il rollback alla versione sqlite3 gemma a 1.3.3 e 1.3.4 senza alcun cambiamento che ho.. Sono anche molto confuso su questo riferimento ruby ​​1.8.7 nell'output della riga di comando.Non ho nemmeno ruby ​​1.8.7 installato. –

+0

Sospetto che ciò sia dovuto al fatto che Heroku Toolbelt non anticipa il gioco della shell rvm, invece si aspetta ingenuamente per utilizzare sempre la versione di Ruby con cui è stata installata. Nel mio caso, potrei ottenere 'heroku db: pull' per funzionare in Ruby 1.9.3 (ma non 1.8.7 o 2.0). Ciò potrebbe essere dovuto al fatto che ho installato Heroku Toolbelt mentre ero su 1.9.3 Quando eseguivo 'heroku db: pull' sotto Ruby 2.0, l'errore SEGFAULT che ho letto: ' /Users/adam/.rvm/gems/ruby-2.0. 0-p0/gems/sqlite3-1.3.7/lib/sqlite3/sqlite3_native.bundle: [BUG] Errore di segmentazione ruby ​​1.9.3p194 (2012-04-20 revisione 35410) [x86_64-darwin10.8.0] ' –

+0

rubinetti e db: push e db: pull sarà presto sostituito. Ho aperto un problema se qualcuno volesse provarlo presto https://github.com/heroku/heroku-pg-extras/issues/42 – Will

risposta

52

Aveva anche questo problema, era estremamente fastidioso ma alla fine l'ho fatto funzionare. Ho avuto l'toolbelt installato ma iniziato a lavorare una volta che ho fatto questo:

gem install heroku 
sudo gem install taps 

Sì, il toolbelt è già installato, ma credo che questo davvero riparato. Un sacco di persone stanno avendo questo problema, non sei solo.

Spero che questo aiuti (:

+0

Questo ha risolto il problema problema per me. – ewalk

+0

Ha funzionato anche per me! –

+1

Non ho idea del motivo per cui avrebbe dovuto funzionare, ma così è stato. Grazie. – barelyknown

1

Il codice sta cercando di eseguire la versione 1.9.2 di SQLite usando Rubino 1.8.7.

Suggerirei di passare a 1.9.2 prima di provare la vostra spinta.

rvm use 1.9.2-p290 
heroku db:push 

Idealmente si desidera passare a 1.9.2 punto.

+2

Questa è la cosa strana: I AM che usa 1.9.2, secondo rvm . Inoltre, il mio database è Postgresql su entrambe le estremità, quindi perché è monkeying con Mysql? I rubinetti –

+0

dipendono da SQLite –

+0

... e (Rubinetti) è necessario ottenere i database dentro e fuori da Heroku http://devcenter.heroku.com/articles/taps tramite 'heroku db: push' –

Problemi correlati