2014-08-31 11 views
49

Recentemente ho reinstallato rubino 2.1.2 in questo modo dato che volevo installare un gioiello (ruby-debug-ide)rotaie non viene caricato a causa di libreadline

sudo rvm reinstall 2.1.2 --disable-binary --with-gcc=gcc-4.2 

Da allora, non riesco a caricare la mia console utilizzando bundle exec rails c a causa del seguente errore:

/Users/ohad/.rvm/gems/[email protected]/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:251:in `require': dlopen(/Users/ohad/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/x86_64-darwin13.0/readline.bundle, 9): Library not loaded: @@[email protected]@/opt/readline/lib/libreadline.6.dylib (LoadError) 
    Referenced from: /Users/ohad/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/x86_64-darwin13.0/readline.bundle 

provato brew uninstall readline e brew install --build-from-source readline che ha funzionato, ma non ha risolto il mio problema.

+0

Eventuali duplicati di [Rails console non Loading] (http://stackoverflow.com/questions/12591585/rails-console-not-loading) – mpoisot

risposta

51

eseguito attraverso questo oggi, per risolverlo ho fatto:

brew rm -f readline

brew install readline

brew link readline --force

Speranza che aiuta.

+1

ha funzionato come un fascino! Grazie! – WebQube

+1

Yay, grazie! –

+1

ha funzionato anche per me, grazie! anche se quando eseguo 'brew doctor' mi dice di scollegarlo? Penso che questo abbia causato l'errore in primo luogo, strano .. – ggrillone

41

Sono stato in grado di risolvere lo stesso problema reinstallando Ruby. Sul lato Homebrew reinstallare readline (anche dalla fonte) non ha aiutato.

sto usando RVM quindi questo risolto per me:

rvm reinstall 2.3.1

Penso Homebrew può aver tirato in readline v7 recentemente per qualche altro pacchetto, che ho il sospetto potrebbe essere il colpevole.

+11

Grazie - che risolto. Per gli utenti rbenv, l'equivalente rbenv è 'rbenv install -f 2.3.1'. –

+1

Lo stesso qui! la reinstallazione di 2.3.1 lo ha risolto per me. – cabgfx

+0

Non vedo il problema quando lavoro nel terminale, ma solo in [RubyMine] (https://www.jetbrains.com/help/ruby/2016.3/running-rails-console.html) (???). E reinstallare l'ha riparato (???). –

32

Sulla base di un commento sulla risposta accettata con più voti rispetto alla risposta, questa sembra essere la soluzione più popolare.

Sembra rotaie 4.2.6 cercava libreadline.6 invece di libreadline. Quindi, solo bisogno di creare un link simbolico.

ln -s /usr/local/opt/readline/lib/libreadline.dylib \ 
/usr/local/opt/readline/lib/libreadline.6.dylib 

Spero che questo aiuti gli altri che sono ancora bloccati!

+0

Risolti i miei problemi grazie! – SS44

+1

Grazie per aver pubblicato la mia soluzione. Ho avuto un buon feedback e stavo per postarlo. Ho votato questo! – califrench

+0

@califrench, è una wiki della comunità, per favore fai qualche modifica per renderla come vuoi e poi sarai aggiunta come contributore. (È un po 'un'ingiustizia non vedere il tuo nome qui!) –

7

Dopo aver ottenuto un sacco di feedback positivi sul mio commento sul post di @ mauro_oto, ho pensato di questo post come una risposta:

Per me cp /usr/local/opt/readline/lib/libreadline.dylib /usr/local/opt/readline/lib/libreadline.6.dylib ha fatto il trucco. Sembra che le rails 4.2.6 stiano cercando libreadline.6 invece di libreadline. Probabilmente dovrei avere un link simbolico per essere onesto però. Quindi ln -s /usr/local/opt/readline/lib/libreadline.dylib /usr/local/opt/readline/lib/libreadline.6.dylib è più appropriato. Spero che questo aiuti gli altri che sono ancora bloccati!

4

mio ENV: Rubino: 2.2.1, Rails 4.2.1, MacOS Sierra 10.12.4;

Il comando di seguito per me e il mio collega:

ln -s /usr/local/opt/readline/lib/libreadline.7.0.dylib /usr/local/opt/readline/lib/libreadline.6.dylib

8

niente di tutto questo ha funzionato per me. Sto usando osx sierra. Questo ha funzionato per me.

ln -s /usr/local/opt/readline/lib/libreadline.7.0.dylib /usr/local/opt/readline/lib/libreadline.6.dylib 

Spero che questo aiuti qualcuno là fuori.

0

Su OSX utilizzando homebrew, è possibile specificare quale versione della lettura è attiva. per esempio.

brew switch readline 6.3.8

(è probabile installato in /usr/local/Cellar/readline/)

Problemi correlati