Como instalar o jekyll?

31

De acordo com o site do jekyll , é assim que você cria um novo site com jekyll:

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

gem install jekyll não funcionou, nem 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

Eu também tentei seguir a resposta aqui , mas isso não ajuda. sudo apt-get install jekyll funciona. Mesmo assim, porém, a execução de jekyll new myblog retorna este erro:

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

Alguém sabe o que está causando isso?

    
por Jon 09.06.2013 / 05:54

3 respostas

46

Nos meus sistemas 13.04 e 14.04, as coisas funcionaram para mim depois de instalar o pacote ruby-dev e, em seguida, executar a instalação gem:

  • sudo apt-get install ruby1.9.1-dev (ou tente: ruby-dev em vez disso)

  • gem install jekyll # se isso falhar, então sudo gem install jekyll

Depois disso, o jekyll foi instalado corretamente.

Note que para a instrução gem install , é melhor não usar o sudo. *****

É melhor usar algo como RVM, de modo que sudo não seja necessário. Em alguns sistemas, pode ser necessário usar sudo , se, por exemplo, as permissões foram definidas por comandos sudo anteriores ou pela configuração no nível de raiz.

Veja esta pergunta do stackoverflow - como instalar gems sem sudo para mais informações e ajuda para obter permissões definidas para o usuário em vez de root.

***** Agradecemos a @iguarav por este conselho sobre práticas recomendadas, bem como ao link para rvm.io .

    
por belacqua 09.06.2013 / 20:04
3

Guia para 14.04 LTS sem RVM

O Jekyll 3 precisa do Ruby 2.0 ou superior, por isso primeiro instalamos o Ruby 2.0, seus cabeçalhos de desenvolvimento e nodejs:

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

Em seguida, apontamos os comandos incluídos no pacote ruby ​​para a nova versão.

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 finalmente usamos gem para instalar a gema jekyll.

sudo gem install jekyll
    
por mschwaig 17.07.2016 / 20:04
1

Além disso, você não quer depender de sudo para executar gems , então eu recomendo adicionar seu usuário ao grupo da raiz e:

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

Apenas fazendo algumas atualizações neste tópico. De acordo com os documentos de instalação do jekyll , a versão necessária é a versão 2. Depois de corrigir o problema de permissões, corri para o erro esperado:

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

Instalando com o 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 outros problemas com a instalação do Ruby, siga isso .

Depois disso, funcionou para mim.

    
por 3manuek 22.05.2016 / 22:55