Come installare jekyll?


30

Secondo il sito jekyll , ecco come creare un nuovo sito Web con jekyll:

~ $ gem install jekyll
~ $ jekyll new myblog
~ $ cd myblog
~/myblog $ jekyll serve

gem install jekyllnon ha funzionato, né ha fatto sudo gem install jekyll:

└─>gem install jekyll
ERROR:  While executing gem ... (Errno::EACCES)
    Permission denied - /var/lib/gems/1.9.1/gems/fast-stemmer-1.0.2/LICENSE
┌─[Sat Jun 08][jon@jon-MacMini:~/Web]
└─>sudo !!
sudo gem install jekyll
Building native extensions.  This could take a while...
ERROR:  Error installing jekyll:
    ERROR: Failed to build gem native extension.

        /usr/bin/ruby1.9.1 extconf.rb
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mkmf (LoadError)
    from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from extconf.rb:1:in `<main>'


Gem files will remain installed in /var/lib/gems/1.9.1/gems/fast-stemmer-1.0.2 for inspection.
Results logged to /var/lib/gems/1.9.1/gems/fast-stemmer-1.0.2/ext/gem_make.out

Ho anche provato a seguire la risposta qui , ma questo non aiuta. sudo apt-get install jekylllavori. Anche allora, tuttavia, l'esecuzione jekyll new myblogrestituisce questo errore:

└─>jekyll new myblog
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': iconv will be deprecated in the future, use String#encode instead.
WARNING: Could not read configuration. Using defaults (and options).
    No such file or directory - new/_config.yml
Building site: new -> myblog
/usr/lib/ruby/vendor_ruby/jekyll/site.rb:126:in `chdir': No such file or directory - /home/jon/Web/new/ (Errno::ENOENT)
    from /usr/lib/ruby/vendor_ruby/jekyll/site.rb:126:in `read_directories'
    from /usr/lib/ruby/vendor_ruby/jekyll/site.rb:98:in `read'
    from /usr/lib/ruby/vendor_ruby/jekyll/site.rb:38:in `process'
    from /usr/bin/jekyll:250:in `<main>'

Qualcuno sa cosa sta causando questo?


Ubuntu 13.04. Ho installato rubino al solito modo: sudo apt-get install ruby.
Jonathan,

Per Ubuntu 12.04 LTS vedere questo .
NickKolok,

Risposte:


46

Sui miei sistemi 13.04 e 14.04, le cose hanno funzionato per me dopo aver installato il pacchetto ruby-dev, quindi aver eseguito gem install:

  • sudo apt-get install ruby1.9.1-dev(o prova: ruby-devinvece)

  • gem install jekyll # se questo fallisce allora sudo gem install jekyll

Successivamente, jekyll è stato installato correttamente.

Si noti che per l' gem installistruzione, è meglio non usare sudo. *****

È meglio usare qualcosa come RVM, quindi sudonon è necessario. Su alcuni sistemi potrebbe essere necessario utilizzare sudo, ad esempio, se le autorizzazioni fossero state impostate da precedenti comandi sudo o dalla configurazione a livello di root.

Vedi questa domanda di StackOverflow: come installare gems senza sudo per ulteriori informazioni e per ottenere assistenza su come impostare le autorizzazioni su utente anziché su root.

***** credito a @iguarav per questo consiglio migliore pratiche, nonché il link al rvm.io .


1
Ha funzionato Ho anche dovuto aggiungere la directory gem al mio PERCORSO, al fine di poter eseguire jekylldalla riga di comando. Ho anche dovuto disinstallare la versione del pacchetto ubuntu, che non ha il newsottocomando.
Jonathan,

Questo ha funzionato per me. Inoltre, per prima cosa ho provato a installare e utilizzare ruby2.0-dev, ma senza fortuna.
emchristiansen,

ha confermato di funzionare su Ubuntu 14.04
Meta

non dovresti usare sudo con gem install poiché queste sono solo librerie riutilizzabili
igaurav

@belacqua best practice consigliano l'utilizzo di RVM rvm.io . se usi eccessivamente sudo, presto affronterai problemi di dipendenza.
igaurav,

3

Guida per 14.04 LTS senza RVM

Jekyll 3 ha bisogno di ruby ​​2.0 o versioni successive, quindi installiamo prima ruby ​​2.0, le sue intestazioni di sviluppo e nodejs:

sudo apt-get install -y ruby2.0 ruby2.0-dev nodejs

Quindi puntiamo i comandi inclusi nel pacchetto ruby ​​alla nuova versione.

sudo update-alternatives --install /usr/bin/ruby ruby /usr/bin/ruby2.0 10
sudo update-alternatives --install /usr/bin/gem gem /usr/bin/gem2.0 10
sudo update-alternatives --install /usr/bin/irb irb /usr/bin/irb2.0 10
sudo update-alternatives --install /usr/bin/rdoc rdoc /usr/bin/rdoc2.0 10
sudo update-alternatives --install /usr/bin/testrb testrb /usr/bin/testrb2.0 10
sudo update-alternatives --install /usr/bin/rake rake /usr/bin/rake2.0 10
sudo update-alternatives --install /usr/bin/erb erb /usr/bin/erb2.0 10
sudo update-alternatives --install /usr/bin/ri ri /usr/bin/ri2.0 10

E infine usiamo gemper installare la gemma jekyll.

sudo gem install jekyll

1

Inoltre, non vuoi dipendere sudodall'esecuzione gems, quindi ti consiglio di aggiungere il tuo utente al gruppo del root e:

sudo chmod -R 770 /var/lib/gems
sudo chmod -R 770 /usr/local/bin

Sto solo facendo alcuni aggiornamenti su questo thread. Secondo i documenti di installazione di jekyll, la versione necessaria è la versione 2. Dopo aver risolto il problema delle autorizzazioni, ho riscontrato l'errore previsto:

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

Installazione con RVM:

gpg --keyserver hkp://keys.gnupg.net --recv-keys \  409B6B1796C275462A1703113804BB82D39DC0E3
curl -sSL https://get.rvm.io | bash -s stable --ruby             
/bin/bash --login
rvm install 2.3.0
rvm use 2.3.0
rvm rubygems latest
ruby --version
rvm install ruby-dev

Per altri problemi con l'installazione di Ruby, segui questo .

Dopo quello, ha funzionato per me.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.