Я не уверен, так как у меня под рукой нет 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
И это похоже на превосходного кандидата на источник вашей проблемы. В системе Unixish (Linux, OSX, FreeBSD, Cygwin, ...) mkdir -p
создаст нужный каталог и любые промежуточные каталоги, которые необходимы. Я подозреваю, что стандартная Windows mkdir
не знает, что означает -p
, поэтому вместо этого создает две директории.
Вы можете исправить локальную версию исходного кода компилятора CoffeeScript, чтобы использовать специфичную для Windows версию mkdir -p
, или вы можете попробовать установить Cygwin, чтобы получить mkdir
, который знает, что означает -p
. Отправка отчета об ошибке сопровождающим CoffeeScript также была бы полезна (но, вероятно, не обязательна, поскольку они найдут этот вопрос самостоятельно).