Comment installer jekyll?

30

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 jekylln'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 également essayé de suivre la réponse ici , mais cela n'aide pas. sudo apt-get install jekylltravaux. Même alors, cependant, l'exécution jekyll new myblogrenvoie 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 cela?

Jonathan
la source
Ubuntu 13.04. J'ai installé ruby la manière habituelle: sudo apt-get install ruby.
Jonathan
Pour Ubuntu 12.04 LTS, voyez ceci .
NickKolok

Réponses:

46

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é l'installation de gem:

  • sudo apt-get install ruby1.9.1-dev(ou essayez: à la ruby-devplace)

  • gem install jekyll # si cela échoue alors sudo gem install jekyll

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

Notez que pour l' gem installinstruction, il est préférable de ne pas utiliser sudo. *****

Il vaut mieux utiliser quelque chose comme RVM, donc ce sudon'est pas obligatoire. Sur certains systèmes, il peut être nécessaire d'utiliser sudo, si par exemple les autorisations ont été définies par les commandes sudo précédentes ou la configuration au niveau racine.

Voir cette question de stackoverflow - comment installer des gemmes sans sudo pour plus d'informations et pour obtenir de l'aide sur les autorisations définies pour l'utilisateur au lieu de root.

***** Crédit @iguarav pour ce meilleur conseil pratiques, ainsi que le lien vers rvm.io .

Belacqua
la source
1
Ça a marché. J'ai également dû ajouter le répertoire gem à mon PATH, afin de pouvoir exécuter à jekyllpartir de la ligne de commande. J'ai également dû désinstaller la version du package ubuntu, qui n'a pas la newsous - commande.
Jonathan
Cela a fonctionné pour moi. De plus, j'ai d'abord essayé d'installer et d'utiliser ruby2.0-dev mais sans chance.
emchristiansen
confirmé pour travailler à ubuntu 14.04
Meta
vous ne devez pas utiliser sudo avec l'installation de gemmes car ce ne sont que des bibliothèques réutilisables
igaurav
les meilleures pratiques @belacqua recommandent l' utilisation de RVM rvm.io . si vous utilisez trop sudo, vous serez bientôt confronté à des problèmes de dépendance.
igaurav
3

Guide pour 14.04 LTS sans RVM

Jekyll 3 a besoin de ruby ​​2.0 ou supérieur, nous installons donc d'abord ruby ​​2.0, ses en-têtes de développement et nodejs:

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 enfin, nous utilisons gempour installer le joyau jekyll.

sudo gem install jekyll
mschwaig
la source
1

De plus, vous ne voulez pas dépendre sudode l'exécution gems, je recommande donc d'ajouter votre utilisateur au groupe 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 les documents d'installation du 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 d'autres problèmes avec l'installation de Ruby, suivez ceci .

Après ça, ça a marché pour moi.

3manuek
la source