2012-09-03 7 views
6

Windows 7の64ビット版cygwinを使ってRubyでjekyllを動作させるのに問題がありました。私はrubyinstaller + devkitを使ったほうが良い結果を出しました。 cygwinの中でrubyinstaller ruby​​を使うことができれば本当にうれしいでしょう。ruby​​installerをcygwinで使いやすくする方法はありますか?

ただし、レーキを実行しようとすると、次のメッセージが表示されます。

 
$ rake page name="pages/about.md" 
C:\Ruby193\bin\ruby.exe: No such file or directory -- /cygdrive/c/Ruby193/bin/rake (LoadError) 

ruby​​installerをcygwinで使いやすくする方法はありますか?

+0

[RubyGems + Cygwin:ruby.exeでPOSIXパスが見つかりません]の複製が可能です。(http://stackoverflow.com/questions/3831131/rubygems-cygwin-posix-path-not-found-by-ruby-exe ) –

答えて

5

問題は、すべてのスクリプトパスをcygwinパス(/cygdrive/...)に変換するcygwinです。

スクリプトの呼び出しは、ネイティブRubyを呼び出すscashよりrakeのbashで作成されているため、その解決策はありません。

がありcygwinのが原因であろう他の問題の多くであり、いくつかは、cygwinのシェバング検出をスキップし、直接rake.batを起動しますRubyInstaller troubleshooting page

1つの選択肢で覆われています。

しかし、cygwinはバッチファイルが好きではありません。そのためには、cmd.exe /C rake.batを実行する必要があり、それはノイズの多いコマンドラインです。

もう1つの方法は、gem-exefygem install gem-exefy)のようなものをインストールし、インストールされた宝石(rake.exe)の実行ファイルを生成することです。

あなたはrake.exeを呼び出す代わりに、cygwinがそれを理解できるようにします。

cygwinよりも優れたcygwinの代わりにMSYS Bash(DevKitに含まれています)を使用していますが、バッチファイルに問題はあります。

このように、非ネイティブ(cygwin)とネイティブ(RubyInstaller)を混在させると、多くの副作用が発生します。

+0

ありがとう!私は宝石の尽きる道を行った。 .exe拡張子を含めるのは少し不便ですが、少なくともcmd.exeとcygwinの両方を使う必要はありません:) –

38

私はちょうど私の.bash_profileの中でこれらのいくつかを置く:

alias gem=gem.bat 
alias irb=irb.bat 
alias rake=rake.bat 

私はルイスが言及の問題のいずれかを持っていることはありません。

+0

興味深いのは、cygwin 1.7ですか? cygwinでバッチファイルを読み込み、正しく解釈できないという問題がありました。あなたのために働くバッチファイルを聞いてうれしいです:) –

+0

はい、トリックはあなたのPATHにあり、あなたがそれらを実行するときに完全なパスを使用していないことを確認することかもしれません – pguardiario

+2

ありがとう、それは完璧に働いた。 –

関連する問題