web-dev-qa-db-fra.com

Comment installer jekyll?

Selon le site jekyll , voici comment créer un nouveau site Web avec jekyll:

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

gem install jekyll n'a pas fonctionné, ni 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

J'ai aussi essayé de suivre la réponse ici , mais cela n'aide pas. Sudo apt-get install jekyll fonctionne. Même dans ce cas, l'exécution de jekyll new myblog renvoie cette erreur:

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

Quelqu'un sait ce qui cause ça?

30
Jonathan

Sur mes systèmes 13.04 et 14.04, les choses ont fonctionné pour moi après avoir installé le paquet Ruby-dev, puis exécuté la gem install:

  • Sudo apt-get install Ruby1.9.1-dev (ou essayez plutôt: Ruby-dev)

  • gem install jekyll # si cela échoue, alors Sudo gem install jekyll

Après cela, jekyll a été installé correctement.

Notez que pour l'instruction gem install, il est préférable de ne pas utiliser Sudo. *****

Il est préférable d'utiliser quelque chose comme RVM, de sorte que Sudone soit pas requis. Sur certains systèmes, il peut être nécessaire d'utiliser Sudosi, par exemple, les autorisations ont été définies par les commandes Sudo précédentes ou par une configuration de niveau racine.

Voir ceci question de stackoverflow - comment installer des gems sans Sudo pour plus d'informations et pour obtenir de l'aide sur l'obtention des autorisations définies sur utilisateur plutôt que sur racine.

***** Nous remercions @iguarav pour ces conseils sur les meilleures pratiques ainsi que pour le lien vers rvm.io .

46
belacqua

Guide pour 14.04 LTS sans RVM

Jekyll 3 a besoin de Ruby 2.0 ou supérieur, nous avons donc d'abord installé Ruby 2.0, ses en-têtes de développement et ses noeuds:

Sudo apt-get install -y Ruby2.0 Ruby2.0-dev nodejs

Ensuite, nous pointons les commandes incluses dans le package Ruby vers la nouvelle version.

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

Et finalement, nous utilisons gem pour installer le joyau jekyll.

Sudo gem install jekyll
3
mschwaig

De plus, vous ne voulez pas dépendre de Sudo pour exécuter gems, je vous recommande donc d'ajouter votre utilisateur au groupe de la racine et:

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

Je fais juste quelques mises à jour sur ce fil. Selon le documentation d'installation de jekyll , la version requise est la version 2. Après avoir résolu le problème des autorisations, j'ai rencontré l'erreur attendue:

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

Installation avec 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

Pour les autres problèmes liés à l'installation de Ruby, suivez this .

Après cela, cela a fonctionné pour moi.

1
3manuek