J'ai mis à jour le dernier JekyllBuild (1.0.3) avant de toujours utiliser le RC. Après la mise à jour, l'analyse des codes (avec Pygments) ne fonctionne plus. J'obtiens toujours l'erreur suivante:
C:/Ruby193/lib/Ruby/gems/1.9.1/gems/posix-spawn-0.3.6/lib/posix/spawn.rb:162: warning: cannot close fd before spawn
←[31m Liquid Exception: No such file or directory - /bin/sh in 2012-01-17-test-post.md←[0m
Quelqu'un a-t-il également rencontré ce problème?
Je n'ai aucune idée de Ruby, donc je ne peux pas le déboguer moi-même :(
J'ai eu le même problème. Semble qu'il y a n problème dans Pygments.rb 0.5.1. En revenant à Pygments 0.5.0, l'erreur a disparu.
gem uninstall pygments.rb --version ">0.5.0"
gem install pygments.rb --version "=0.5.0"
J'espère que cela t'aides.
En développant l'explication de zzheng, si vous rencontrez toujours des problèmes, essayez d'exécuter gem list
. Assurez-vous ensuite que pygments.rb (0.5.2)
n'est pas installé. Si c'est le cas, exécutez simplement cette commande.
gem uninstall pygments.rb --version "=0.5.2"
Cela devrait régler votre problème et vous devriez pouvoir publier à nouveau avec Jekyll sur Windows.
EDIT: En outre, sur la base de ma propre expérience, cela peut provoquer une autre erreur. Liquid Error: Failed to get header. in 2013-07-20-post-name-here.md
. La solution (non confirmée) consiste à installer Python 2.7. * Si vous ne l'avez pas déjà fait, bien que certaines personnes signalent que cela ne résout pas le problème.
Lectures complémentaires:
si vous ajoutez highlighter: false
dans votre config.yml, vous pouvez éviter de charger du tout les Pygments
Dernièrement, j'ai trouvé la meilleure façon de déployer jekyll ou tout autre environnement sur Windows en utilisant http://scoop.sh/ ou https://chocolatey.org/ =.
Cette erreur est principalement due au fait que Windows Shell ne peut pas trouver cette commande "qui" mais Cygwin et MinGW. Je pense que la meilleure solution est de modifier le popen.rb
à ceci ci-dessous:
# Detect a suitable Python binary to use. We can't just use `python2`
# because apparently some old versions of Debian only have `python` or
# something like that.
def python_binary
if Ruby_PLATFORM =~ /(mswin|mingw|cygwin|bccwin)/
return 'python'
end
@python_binary ||= begin
`which python2`
$?.success? ? "python2" : "python"
end
end
Il y a aussi quelques détails selon Cette page .
En plus de ce qu'a dit @noobcode, vous pouvez continuer à utiliser pygments.rb
si vous ajoutez le répertoire Python27 (où que vous l'ayez stocké) à votre chemin (comme un autre utilisateur l'a mentionné dans une réponse à un fil ci-dessus).
Ceux qui ne savent pas comment ajouter le répertoire à leur CHEMIN devraient visiter ce site .
Regardez https://github.com/juthilo/run-jekyll-on-windows/ . Il aide à résoudre les problèmes de Jekyll sur Windows, y compris Pygments (de https://github.com/juthilo/run-jekyll-on-windows/#install-python-environment et plus).
Je sais que c'est répondu mais partage mon expérience. Il semble donc que le problème réside dans pygments.rb de Ruby installation. Après avoir installé jekyll et essayé de s'exécuter sur localhost, cela donnerait une erreur dans le fichier de publication par défaut. En supprimant le code de coloration syntaxique du fichier de démarque (voir ci-dessous) et en supprimant la référence des pygments du fichier _config.yml, j'ai pu l'exécuter sur l'hôte local.
{% highlight Ruby%}def print_hi(name) puts "Hi, #{name}" end print_hi('Tom') prints 'Hi, Tom' to STDOUT.
{% endhighlight%}
Supprimer les lignes rayées
Les changements ont fonctionné cependant, je ne sais pas encore s'il existe un moyen possible d'utiliser pygments.rb pour la mise en évidence du code.
Pour moi, le correctif consistait à ajouter un lien symbolique vers python.exe appelé python2.exe
Faites cela, avec des privilèges élevés, dans le répertoire où python 2.x est installé:
mklink python2.exe python.exe
Allez dans le répertoire qui a python.exe
et copiez et collez-le dans un nouveau fichier nommé python2.exe
. Fixé!
Juste pour une référence à ceux qui rencontrent le même problème que moi. J'ai eu python 2.7.6 installé en premier, puis installé python 3.3.0. Donc réinstaller python 2.7.6 a résolu le problème pour moi. pygments.rb (0.5.4) Python 2.7.6 Ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0] jekyll 1.4.3 OSX 10.8.5