7

Windows764ビットでcygwinを使用してjekyllをRubyで動作させるのに問題がありました。rubyinstaller+devkitを使用した方が良い結果が得られました。cygwin内でrubyinstallerrubyを使用できれば本当に素晴らしいです。

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

$ rake page name = "pages / about.md"
C:\ Ruby193 \ bin \ ruby​​.exe:そのようなファイルまたはディレクトリはありません-/ cygdrive / c / Ruby193 / bin / rake(LoadError)

rubyinstallerをcygwinでうまく動作させる方法はありますか?

4

2 に答える 2

39

これらのいくつかを.bash_profileに入れました。

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

ルイスが言及している問題はありません。

于 2012-09-04T00:58:18.167 に答える
6

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

スクリプトの呼び出しは、ネイティブRubyを呼び出すbash over rakescripから行われるため、その解決策はありません。

cygwinが引き起こす他の多くの問題があり、いくつかはRubyInstallerトラブルシューティングページでカバーされています

rake.bat1つの代替手段は、cygwinシバン検出をスキップして直接呼び出すことです。

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

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

rake.exeそうすれば、cygwinにそれを理解させる代わりに呼び出すことができます。

もう1つの方法は、cygwinの代わりにMSYS Bash(DevKitに含まれている)を使用することです。これは、cygwinよりもはるかに優れていますが、バッチファイルで問題が発生します。

ご覧のとおり、非ネイティブ(cygwin)とネイティブ(RubyInstaller)を混在させると、多くの副作用が発生します。

于 2012-09-03T18:14:26.920 に答える