web-dev-qa-db-fra.com

Jekyll - commande non trouvée

J'essaie de courir Jekyll je cours mais je n'ai aucune expérience avec Ruby.
Autant que je sache, l’installation de Jekyll a réussi.
Toutefois:

$ jekyll

Donne une erreur:

-bash: jekyll: command not found

Ceci est le résultat gem env:

  - RUBYGEMS VERSION: 1.3.4
  - Ruby VERSION: 1.8.7 (2010-01-10 patchlevel 249) [universal-darwin10.0]
  - INSTALLATION DIRECTORY: /Volumes/HDD/DADU/gems
  - Ruby EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/Ruby
  - EXECUTABLE DIRECTORY: /Volumes/HDD/DADU/gems/bin
  - RUBYGEMS PLATFORMS:
    - Ruby
    - universal-darwin-10
  - GEM PATHS:
     - /Volumes/HDD/DADU/gems
     - /Volumes/HDD/DADU/.gem/Ruby/1.8
     - /Library/Ruby/Gems/1.8
     - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/Ruby/gems/1.8
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://gems.rubyforge.org/

Et j'ai trouvé les chemins suivants menant à "quelque chose" Jekyll:

  • ~.gem/Ruby/1.8/gems/jekyll-0.11.0/lib/jekyll.rb
  • ~.gem/Ruby/1.8/gems/bin/jekyll (fichier exec)
23
DADU

La méthode la plus simple consiste à utiliser RVM. Il gère Ruby et tous ses joyaux pour vous et il est facile à utiliser. Voir ce link pour l’utiliser.

Si vous ne vouliez pas l'utiliser, vous devrez modifier vos variables PATH afin qu'il puisse trouver vos gemmes. J'ai trouvé cela fastidieux et je suis revenu à RVM, mais voici les étapes générales.

Vous aurez besoin de savoir où sont installées vos pierres précieuses. Si vous avez fait gem install ..., les pierres précieuses seront dans ~/.gem/Ruby/1.8/gems/bin, si vous avez utilisé Sudo gem install ..., les pierres précieuses seront quelque part dans /System/Library/Frameworks/Ruby.framework/Versions/1.8/Resources

Vous devez ajouter ce chemin à votre variable PATH. Le moyen le plus simple de procéder consiste à exécuter: echo 'PATH=$PATH:above/path/to/gems' >> ~/.bash_profile

13
Kassym Dorsel

Pour les autres qui viennent ici avec la configuration suivante:

OS X +infusion ed installation de Ruby + (éventuellement) zsh

J'ai pensé que le problème est qu'après l'installation de jekyll selon leurs instructions , gem installe le joyau jekyll dans le brasser cave, pas là où l'OS l'exige habituellement (quelque part où un répertoire de gemmes pour Ruby).

Donc, tout ce qui était nécessaire ici était de savoir où l’installation de brew de Ruby installe des gemmes, de localiser le binaire jekyll et de créer un lien symbolique dans /usr/bin.

Voici les étapes que j'ai prises pour résoudre ce problème:

  1. Tapez gem env et cherchez GEM PATHS . Pour moi c'était: 

    /usr/local/Cellar/Ruby/1.9.3-p194/lib/Ruby/gems/1.9.1.

  2. Assurez-vous que vous pouvez voir le binaire jekyll dans le répertoire à partir de 1 ci-dessus et copiez son chemin (si vous ne le pouvez pas, recherchez tout autre chemin répertorié dans GEM PATHS ). Pour moi c'était:

    /usr/local/Cellar/Ruby/1.9.3-p194/lib/Ruby/gems/1.9.1/gems/jekyll-1.4.3/bin/jekyll

  3. Utilisez le chemin de l'étape 2 ci-dessus pour créer un lien symbolique vers /usr/bin/jekyll. Je l'ai fait en tapant ceci ( vous aurez peut-être besoin de Sudo pour créer le lien symbolique ):

    cd /usr/bin && ln -s /usr/local/Cellar/Ruby/1.9.3-p194/lib/Ruby/gems/1.9.1/gems/jekyll-1.4.3/bin/jekyll jekyll

Maintenant, tout devrait être joyeux si vous tapez jekyll.

15
coderigo

Si vous utilisez RBENV au lieu de RVM, vous devez simplement exécuter rehash dans la ligne de commande après avoir installé jekyll:

rbenv rehash
11
Scro

Peut-être un peu tard, mais ... J'ai eu du mal à installer Jekyll sur Ubuntu et j'ai essayé tout ce que les gens répondaient dans ce fil de discussion - malheureusement, rien n'a fonctionné.
Ensuite, j'ai regardé une vidéo sur le site de Jekyll et, après avoir réinstallé le package Ruby dans son intégralité, Sudo gem install jekyll a fonctionné.

Essayez-le avant tout:

Sudo apt-get update

Sudo apt-get install Ruby-full

Sudo gem install jekyll

jekyll -v

Cela semble assez simple, mais cela fonctionne sur Ubuntu.

7
Guedes

Une solution serait d’éditer votre fichier ~/.bashrc et d’ajouter cette ligne:

PATH=$PATH:~/.gem/Ruby/1.8/gems/bin

Ceci ajoutera ~/.gem/Ruby/1.8/gems/bin dans le chemin de recherche de Bash.

Rouvrez le terminal et cela devrait fonctionner. Ou vous pouvez utiliser la commande suivante:

. ~/.bashrc

6
Santa Zhang

Si vous utilisez MacOS, depuis le Guide de dépannage :

Jekyll et Mac OS X 10.11Permalink

Avec l'introduction de System Integrity Protection, plusieurs répertoires auparavant accessibles en écriture sont désormais considérés comme des emplacements système et ne sont plus disponibles. Compte tenu de ces changements, il existe deux manières simples de se mettre en marche. Une option consiste à changer l'emplacement où la gemme sera installée (encore une fois, en utilisant Sudo uniquement si nécessaire):

$ gem install -n /usr/local/bin jekyll
4
another

Suivre les étapes a résolu mon problème

gem uninstall jekyll
Sudo gem install jekyll

Ouvrez ~/.bash_profile et ajoutez ce code à la dernière ligne,

export PATH=$PATH:/usr/local/lib/Ruby/gems/1.9.1/gems/jekyll-2.5.2/bin

Enregistrez et fermez le .bash_profile

Fermez et rouvrez le terminal mac, essayez d’exécuter jekyll maintenant, cela devrait fonctionner

2
Ashwin Aggarwal

Jekyll est une gemme Ruby: les gemmes Ruby sous Linux, par exemple, se trouvent dans /var/lib/gems/1.8, comme on peut le voir dans la sortie "Ruby env". 

Ainsi, vous devez ajouter les exécutables de ce répertoire à votre chemin. 

En général, si une gemme Ruby n’est "pas trouvée" par votre système d’exploitation, cela signifie simplement que 

1) Vous n'avez pas la gemme installée ou

2) La gemme n'est pas installée dans un répertoire qui se trouve sur votre chemin.

J'ai constaté qu'il y avait quelques problèmes avec l'installation de ruby ​​et ruby ​​gems sur linux (j'ai découvert que cela peut être compliqué sur Ubuntu v10 et je l'ai confirmé avec les gens de Ruby sur IRC). Ainsi, des outils tels que RVM ou rbenv peuvent constituer la meilleure approche pour la mise en place d’un environnement Ruby stable et maintenable.

1
jayunit100

@ jayunit100,

Je rencontre le même problème avec un blog Jekyll. J'ai installé la gemme via RVM dans un répertoire "Blog" et le fichier _config.yml indique qu'elle doit être générée dans Blog/_site. Est-ce aussi simple que d'ajouter Blog à PATH ou y a-t-il autre chose qui me manque?

Mise à jour: Mon mauvais, je n'avais pas vraiment la gemme installée. Leçon apprise: rvm requirements et brew doctor existent pour une raison: avant d’installer le logiciel USE Them

1
Chris

Plus facile que de créer un lien symbolique, installez-le correctement. Si vous rencontrez des erreurs d’autorisation similaires à celles que beaucoup de gens rencontrent en essayant d’utiliser 

gem install jekyll

utilisez plutôt 

Sudo gem install jekyll
1
Charles

Lorsque vous utilisez l'option --user-install, RubyGems installera les gems dans un répertoire de votre répertoire personnel, quelque chose comme ~/.gem/Ruby/1.9.1. Les commandes fournies par les gems installés se retrouveront dans ~/.gem/Ruby/1.9.1/bin. Pour que les programmes installés à cet emplacement soient disponibles, vous devez ajouter ~/.gem/Ruby/1.9.1/bin à votre variable d’environnement PATH.

Par exemple, si vous utilisez bash, vous pouvez ajouter ce répertoire à votre PATH en ajoutant un code comme celui-ci à votre fichier ~/.bashrc:

if which Ruby >/dev/null && which gem >/dev/null; then
    PATH="$(Ruby -r rubygems -e 'puts Gem.user_dir')/bin:$PATH"
fi

https://guides.rubygems.org/faqs/#user-install

Je le mets dans le .bash_profile (Mac OS X).

https://hathaway.cc/2008/06/how-to-edit-your-path-environment-variables-on-mac/

0
Henry Brewer

J'ai installé mon Ruby2.6.0 et gem via brew sous MacOS 10.14.
Pour moi, ajouter la ligne suivante à mon ~/.zshrc a résolu ce problème.

 export PATH=/usr/local/lib/Ruby/gems/2.6.0/bin:$PATH

J'ai trouvé le fichier exécutable jekyll avec la commande locate jekyll.

0
OutOfFoodException

Dans mon cas, je devais exécuter bundle install --force

Alors bundle exec jekyll serve fonctionne, mais jekyll serve ne fonctionne toujours pas. Il semble que je vais devoir aller avec l'ancien à partir de maintenant…

0
Bruno Philipe