Ответ 1
У меня была такая же проблема. Кажется, проблема в Pygments.rb 0.5.1. Вернувшись к Pyigs 0.5.0, ошибка исчезла.
gem uninstall pygments.rb --version ">0.5.0"
gem install pygments.rb --version "=0.5.0"
Надеюсь, что это поможет.
Я обновил до последнего JekyllBuild (1.0.3), прежде чем я всегда использовал RC. После обновления синтаксический анализ кодов (с помощью Pygments) больше не работает. Я всегда получаю следующую ошибку:
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
Кто-нибудь также столкнулся с этой проблемой?
У меня нет понятия о рубине, поэтому я не могу отлаживать это сам: (
У меня была такая же проблема. Кажется, проблема в Pygments.rb 0.5.1. Вернувшись к Pyigs 0.5.0, ошибка исчезла.
gem uninstall pygments.rb --version ">0.5.0"
gem install pygments.rb --version "=0.5.0"
Надеюсь, что это поможет.
Развернув пояснение zzheng, если у вас все еще есть проблемы, попробуйте запустить gem list
.
Затем убедитесь, что pygments.rb (0.5.2)
не установлен. Если это так, просто запустите эту команду.
gem uninstall pygments.rb --version "=0.5.2"
Это должно позаботиться о вашей проблеме, и вы снова сможете опубликовать ее с Jekyll в Windows.
EDIT: Также, исходя из моего собственного опыта, это может вызвать еще одну ошибку. Liquid Error: Failed to get header. in 2013-07-20-post-name-here.md
. (Неподтвержденным) решением является установка Python 2.7. *, Если вы еще этого не сделали, хотя некоторые люди сообщают, что это не устраняет проблему.
Дальнейшее чтение:
если вы добавите highlighter: false
в свой config.yml, вы можете вообще не загружать Pygments
В последнее время я нашел лучший способ для развертывания jekyll или любой другой среды на окнах, используя http://scoop.sh/ или https://chocolatey.org/.
Эта ошибка объясняется главным образом тем, что Windows Shell не может найти эту команду "кто", но Cygwin и MinGW. Я считаю, что лучшим решением является изменение popen.rb
ниже:
# 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
Есть также некоторые подробности в соответствии с Эта страница .
Я знаю, что на это ответили, но поделился своим опытом. Таким образом, похоже, что проблема связана с pygments.rb рубиновой установки. После установки jekyll и попыток запуска на локальном хосте он выдаст ошибку в файл сообщения по умолчанию. Удалив код подсветки синтаксиса из файла отметки (см. Ниже) и удалив ссылку на pygments из файла _config.yml, я смог запустить его на локальном хосте.
{% highlight ruby %}def print_hi(name) puts "Hi, #{name}" end print_hi('Tom') prints 'Hi, Tom' to STDOUT.
{% endhighlight %}
Удалите выровненные строки
Тем не менее, изменения еще не выяснили, существует ли возможный способ использования pygments.rb для выделения кода.
Добавляя к тому, что сказал @noobcode, вы можете продолжать использовать pygments.rb
, если вы добавите каталог Python27 (где бы вы его не сохранили) на свой путь (как другой пользователь, упомянутый в ответе на поток выше).
Те, кто не имеет понятия, как добавить каталог в свой PATH, должны посетить этот сайт.
Посмотрите https://github.com/juthilo/run-jekyll-on-windows/. Это помогает с проблемами Jekyll в Windows, включая Pygments (от https://github.com/juthilo/run-jekyll-on-windows/#install-python-environment и выше).
Для меня исправление заключалось в том, чтобы добавить символическую ссылку на python.exe под названием python2.exe
Сделайте это с повышенными привилегиями в каталоге, где установлен python 2.x:
mklink python2.exe python.exe
Просто для ссылки на тех, кто встречает ту же проблему, что и я. Сначала я установил python 2.7.6, а затем установил python 3.3.0. Поэтому переустановить python 2.7.6 исправил проблему для меня.
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
Перейдите в каталог с python.exe
и скопируйте его в новый файл с именем python2.exe
. Фиксированный!