2012-02-02 9 views
4

私は100%ではありませんが、これはCoffeeScriptコンパイラ(coffee.cmd)を使用しています。私はちょうどnode.jsとCoffeeScriptを私のWindowsマシンにセットアップしました。次のようなファイルをコンパイルすると:ビルドで '-p'フォルダが作成されています

coffee.cmd -c test.coffee 

私はtest.jsを完璧に出力します。私は任意のディレクトリからビルドできるように一般化されたSublime Text 2で構築されたビルドスクリプトを持っています。それはコンパイルするとき、それはそうのように、ファイルのフルパスを使用しています。

coffee.cmd -c C:\Users\Spencer\test.coffee 

を今、これは予想通りtest.jsを出力しますが、何らかの理由で、それはまた、同じディレクトリに空の「-p」を作成し、 。なぜそれがこれをしているのか正確にはわかりません。どんな援助も大きく是正されるだろう。ありがとう!

答えて

7

私はWindowsが手元にないので確かではないんだけど、このcommand.coffeeあります

# Write out a JavaScript source file with the compiled code. By default, files 
# are written out in `cwd` as `.js` files with the same name, but the output 
# directory can be customized with `--output`. 
writeJs = (source, js, base) -> 
    #... 
    path.exists jsDir, (exists) -> 
    if exists then compile() else exec "mkdir -p #{jsDir}", compile 

をそして、それはあなたの問題の原因のための優れた候補のように見えます。 Unixシステム(Linux、OSX、FreeBSD、Cygwin、...)では、mkdir -pは必要なディレクトリと必要な中間ディレクトリを作成します。私は、標準のWindows mkdirは、-pが何を意味するのかわからないと思うので、代わりに2つのディレクトリを作ります。

あなたはmkdir -pのWindows固有のバージョンを使用するか、あなたは何-p手段を知っているmkdirを取得するためにCygwinをインストールしてみてください可能性がCoffeeScriptのコンパイラのソースのあなたのローカルバージョンを修正することができます。バグレポートをCoffeeScriptの保守担当者に送信することもいいでしょう(しかし、おそらく彼らはこの質問を自分で見つけられるので必要ではありません)。

+0

本当に問題だった、ありがとう!私は地元のビルドでcommand.jsを変更しましたが、私はOSを検出して正しいものを実行するパッチを作成しています。 – SpencerElliott

+1

この問題を抱えている人はgithubのプルリクエストを提出しています。https://github.com/jashkenas/coffee-script/pull/2091 – SpencerElliott

+1

削除のスクリプトを作成する場合は、 '-p'ディレクトリの' rm -rf - -p'を使います。 '--'は' rm'が '-p'をフラグとして扱わないようにします。 –

関連する問題