2015-11-03 9 views
27

ottengo l'erroreErrore durante l'installazione Jekyll, richiede Rubino> = 2.0.0

Error installing jekyll: 
jekyll requires Ruby version >= 2.0.0. 

quando corro

sudo gem install jekyll 

"ruby -v" dice che ho la versione 1.9.3 rubino

Come installare Jekyll? Devo aggiornare il rubino? Se é cosi, come?

Aggiornamento: ho installato Ruby 2.0.0 con rvm ma ottengo lo stesso errore. Da quando provo ad installare con gem, potrebbe ancora provare a installare con la versione precedente di ruby? Se sì, come trovare e cambiare?

+0

Con l'aggiornamento del rubino, il "come" dipende da come sei gestire le tue versioni di Ruby. –

+0

Come si gestiscono le versioni ruby? – faehnrich

+1

Installazione a livello di sistema, installazione del programma di installazione, rvm, rbenv, ... –

risposta

37

Prova

sudo gem install jekyll -v 2.5 

Il comando predefinito apparentemente tenta di installare Jekyll 3, che è stato rilasciato on October 27th 2015. La versione 2.5 funziona ancora con Ruby 1.9.3, ed è abbastanza per me, probabilmente anche per te.

+0

[questa risposta] (http://stackoverflow.com/a/34523631/4233593) è stato molto utile per l'installazione del gestore di versione di ruby, che consente per eseguire il checkout e utilizzare la versione più recente o desiderata quando vuoi nel tuo ambiente domestico senza bisogno di 'sudo', esegui semplicemente' gem install jekyll' –

+0

Secondo un vecchio aiuto sulla pagina di rilascio di Jekyll, il pacchetto di Ubuntu è "incredibilmente vecchio" "e non dovresti usarlo. https://github.com/jekyll/jekyll-help/issues/209 – geneorama

+0

grazie funziona! – Oliver

15

Ho risolto questo problema modo seguente (supponendo che il pacchetto ruby2.0 installato):

sudo rm /usr/bin/ruby 
sudo rm /usr/bin/gem 
sudo ln -s /usr/bin/ruby2.0 /usr/bin/ruby 
sudo ln -s /usr/bin/gem2.0 /usr/bin/gem 

spiegazione rapida:

/usr/bin/ruby e /usr/bin/gem sono link simbolici, è possibile controllare il loro bersaglio inserendo:

ll /usr/bin/ruby 
ll /usr/bin/gem 

Modifica dell'obiettivo di questi collegamenti hanno come risultato la modifica dell'esecuzione predefinita di ruby ​​e gem. Il passaggio alla versione 2.0, per esempio, permette di installare Jekyll 3.

+0

Questa soluzione interromperà il sistema di imballaggio e potrebbe in futuro rendere impossibile l'aggiornamento. Cattiva soluzione, non farlo. – opentokix

+0

Potresti elaborare? Perché sta rompendo il sistema di imballaggio? Inoltre, è sempre possibile passare facilmente i collegamenti simbolici al bersaglio originale. –

+2

Non dovresti mai scherzare sotto/usr/usr/bin ecc. - Questo è/usr/local/è per. Si potrebbe fare ln -s /usr/bin/ruby2.0/usr/local/bin/ruby ​​ Questa sarebbe la via debian corretta, se hai intenzione di scherzare con i collegamenti simbolici. – opentokix

14

Si può dare una prova per:

sudo apt-get install ruby2.0 ruby2.0-dev 
sudo gem2.0 install jekyll-import 
+0

Ho avuto una traccia di stack simile alla domanda precedente, era per il pacchetto sass durante la costruzione in 'travis-ci' di' fidato'. Usando sopra e facendo 'apt-get install build-essential' prima di essere aiutato. – sdkks

4

provo il seguente su Ubuntu 14.04:

sudo apt-get install ruby2.0 ruby2.0-dev 
sudo apt-get install zlib1g-dev 
sudo gem2.0 install jekyll 
1

Se hai hai già installato una versione successiva di Ruby E stai usando rbenv, e gem dà lo stesso errore, è perché stai ancora usando la vecchia versione di gem. Ora ci sono due eseguibili chiamati gem nel tuo filesystem. Capire quale gioiello è il default con "che":

$ che gemma

Se vedete qualcosa come */rbenv/spessori/gioiello, questa non è la versione di gemme che si desidera utilizzare.. La versione corretta di gem sarà in /.rbenv/versions/[la versione preferita, ad esempio 2.0.0]. È possibile eseguire tale versione del gioiello includendo il percorso completo del file eseguibile:

$ sudo/path/to/correggere/gem install Jekyll

Problemi correlati