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)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
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:
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
.
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
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
.
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
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.
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
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
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
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.
@ 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
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
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/
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
.
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…