¿Cómo instalar jekyll?

30

Según el sitio de jekyll , así es como se crea un nuevo sitio web con jekyll:

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

gem install jekyllno funcionó, ni lo hizo 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

También intenté seguir la respuesta aquí , pero eso no ayuda. sudo apt-get install jekylltrabajos. Incluso entonces, sin embargo, la ejecución jekyll new myblogdevuelve este error:

└─>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>'

Alguien sabe lo que está causando esto?

Jonathan
fuente
Ubuntu 13.04. He instalado el rubí de la forma habitual: sudo apt-get install ruby.
Jonathan
Para Ubuntu 12.04 LTS ver esto .
NickKolok

Respuestas:

46

En mis sistemas 13.04 y 14.04, las cosas funcionaron para mí después de instalar el paquete ruby-dev y luego ejecutar la instalación de gemas:

  • sudo apt-get install ruby1.9.1-dev(o intente: en su ruby-devlugar)

  • gem install jekyll # si esto falla entonces sudo gem install jekyll

Después de eso, jekyll se instaló correctamente.

Tenga en cuenta que para las gem installinstrucciones, es mejor no usar sudo. *****

Es mejor usar algo como RVM, por lo que sudono es necesario. En algunos sistemas puede ser necesario usar sudo, si, por ejemplo, los permisos fueron establecidos por comandos sudo anteriores o configuración de nivel raíz.

Vea esta pregunta de stackoverflow: cómo instalar gemas sin sudo para obtener más información y ayuda para obtener permisos establecidos para el usuario en lugar de root.

***** crédito a @iguarav para este consejo prácticas, así como el enlace a rvm.io .

belacqua
fuente
1
Eso funciono. Sin embargo, también tuve que agregar el directorio de gemas a mi RUTA para poder ejecutar jekylldesde la línea de comandos. También tuve que desinstalar la versión del paquete ubuntu, que no tiene el newsubcomando.
Jonathan
Esto funcionó para mí. Además, primero intenté instalar y usar ruby2.0-dev pero sin suerte.
emchristiansen
confirmado para trabajar en ubuntu 14.04
Meta
no debe usar sudo con la instalación de gemas ya que estas son solo bibliotecas reutilizables
igaurav
@belacqua mejores prácticas recomiendan el uso de RVM rvm.io . Si usa sudo en exceso, pronto enfrentará problemas de dependencia.
igaurav
3

Guía para 14.04 LTS sin RVM

Jekyll 3 necesita ruby ​​2.0 o superior, por lo que primero instalamos ruby ​​2.0, sus encabezados de desarrollo y nodejs:

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

Luego señalamos los comandos incluidos en el paquete ruby ​​a la nueva versión.

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

Y finalmente usamos gempara instalar la gema jekyll.

sudo gem install jekyll
mschwaig
fuente
1

Además, no desea depender sudode la ejecución gems, por lo que le recomiendo agregar su usuario al grupo raíz y:

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

Solo estoy haciendo algunas actualizaciones en este hilo. Según los documentos de instalación del jekyll, la versión necesaria es la versión 2. Después de solucionar el problema de los permisos, me encontré con el error esperado:

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

Instalación 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

Para otros problemas con la instalación de Ruby, siga esto .

Después de eso, funcionó para mí.

3manuek
fuente