RCを常に使用する前に、最新のJekyllBuild(1.0.3)に更新しました。 (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
誰かがこの問題に遭遇しましたか?
Rubyについての手がかりはないので、自分ではデバッグできません:(
同じ問題がありました。 Pygments.rb 0.5.1に 問題 があるようです。 Pygments 0.5.0にロールバックすることで、エラーは消えました。
gem uninstall pygments.rb --version ">0.5.0"
gem install pygments.rb --version "=0.5.0"
お役に立てれば。
それでも問題が解決しない場合は、_gem list
_を実行してみてください。次に、pygments.rb (0.5.2)
がインストールされていないことを確認します。もしそうなら、このコマンドを実行してください。
_gem uninstall pygments.rb --version "=0.5.2"
_
これで問題は解決し、Jekyllを使ってWindowsで再び楽しく公開できるはずです。
編集:また、私自身の経験に基づいて、これは別のエラーを引き起こす可能性があります。 _Liquid Error: Failed to get header. in 2013-07-20-post-name-here.md
_。 (未確認の)解決策は、まだインストールしていない場合Python 2.7。*をインストールすることですが、これで問題が修正されないと報告する人もいます。
参考文献:
highlighter: false
をconfig.ymlに追加すると、Pygmentsのロードをまったく回避できます
最近、私はjekyllまたは他の環境をWindowsに展開するための最良の方法を見つけました http://scoop.sh/ または https://chocolatey.org/ =。
このエラーは主に、Windowsシェルがこのコマンドを見つけることができないためです。これは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
このページ による詳細もあります。
@noobcodeの発言に加えて、実際にpygments.rb
(上記のスレッドへの応答で別のユーザーが言及したように)パスにPython27ディレクトリ(それを保存した場所)を追加した場合。
PATHにディレクトリを追加する方法がわからない場合は、 このサイト にアクセスしてください。
https://github.com/juthilo/run-jekyll-on-windows/ を見てください。 Pygments( https://github.com/juthilo/run-jekyll-on-windows/#install-python-environment 以降)を含む、WindowsでのJekyllの問題に役立ちます。
これは答えられていますが、私の経験を共有しています。したがって、問題はRubyインストールのpygments.rbにあるようです。jekyllをインストールしてlocalhostで実行しようとすると、デフォルトのポストファイルでエラーが発生します。構文強調表示コードを削除するとマークダウンファイル(下記を参照)から_config.ymlファイルからpygmentsの参照を削除すると、ローカルホストで実行できました。
{%ハイライトRuby%}def print_hi(name) puts "Hi, #{name}" end print_hi('Tom') prints 'Hi, Tom' to STDOUT.
{%endhighlight%}
取り消し線を削除する
ただし、変更は機能しましたが、コードの強調表示にpygments.rbを使用する可能性のある方法があるかどうかはまだわかりません。
私にとっての修正は、python2.exeと呼ばれるpython.exeへのシンボリックリンクを追加することでした
python 2.xがインストールされているディレクトリで、管理者特権でこれを行います。
mklink python2.exe python.exe
python.exe
があるディレクトリに移動し、それをコピーしてpython2.exe
という名前の新しいファイルに貼り付けます。修繕!
私のように同じ問題に遭遇した人への参照のためだけに。最初にpython 2.7.6をインストールし、次にpython 3.3.0をインストールしました。だからre-install 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