Build создает папку '-p' - PullRequest
       1

Build создает папку '-p'

4 голосов
/ 02 февраля 2012

Я не на 100% в чем причина, но что-то меня не устраивает с помощью компилятора CoffeeScript (coffee.cmd).Я только что установил node.js и CoffeeScript на моем компьютере с Windows.Если я скомпилирую файл так:

coffee.cmd -c test.coffee

, я получу test.js отлично.У меня есть сценарий сборки, настроенный в Sublime Text 2, который обобщен, поэтому я могу строить из любого каталога.Когда он компилируется, он использует полный путь к файлу, например, так:

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

Теперь это выдает test.js, как и ожидалось, но по некоторым причинам он также создает пустой '-p'тот же каталог.Я не уверен точно, почему он это делает.Любая помощь будет принята с благодарностью.Спасибо!

1 Ответ

7 голосов
/ 02 февраля 2012

Я не уверен, так как у меня под рукой нет 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 также была бы полезна (но, вероятно, не обязательна, поскольку они найдут этот вопрос самостоятельно).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...