Ошибки компилятора CoffeeScript, подавленные в Node 0.5.10-pre - PullRequest
2 голосов
/ 17 октября 2011

Когда мой скрипт не может выполнить анализ по какой-либо причине, я получаю трассировку стека от компилятора, совершенно не зная, где в моем скрипте находится проблема:

mpurvis@citadel:~/coffee$ coffee -c Test.coffee

/usr/local/lib/node_modules/coffee-script/lib/command.js:15
    return process.binding('stdio').writeError(line + '\n');
                   ^
Error: No such module
    at /usr/local/lib/node_modules/coffee-script/lib/command.js:15:20
    at /usr/local/lib/node_modules/coffee-script/lib/command.js:167:7
    at /usr/local/lib/node_modules/coffee-script/lib/command.js:115:26
    at [object Object].<anonymous> (fs.js:108:5)
    at [object Object].emit (events.js:64:17)
    at afterRead (fs.js:1074:12)
    at Object.wrapper [as oncomplete] (fs.js:246:17)

Пока что это всего лишь игрушечный скрипт, чтобы опробовать систему, поэтому я обычно могу просто поэкспериментировать, пока она не заработает снова, но это было бы невозможно в файле любого размера. Есть ли какая-то хитрость, которую я не вижу, чтобы получить строку, где произошла ошибка?

Спасибо!

Ответы [ 4 ]

5 голосов
/ 02 декабря 2011

последняя версия с узла не полностью совместима с cs .. модуль node_stdio удален ... простой способ исправить это открыть / usr / local / lib / node_modules / coffee-script / lib / command.js и измените строку 15

process.binding ('stdio'). writeError (строка + '\ n')

для

process.stderr.write (строка+ '\ n')

всегда вы можете получить дополнительную помощь в разделе вопросов github https://github.com/jashkenas/coffee-script/commit/c77f7737a5d94a05a999109810ea7634f540e1e2

удачи и удачного кодирования

3 голосов
/ 17 октября 2011

Это не похоже на проблему синтаксиса.Ошибка исходит от command.js, что определяет утилиту командной строки coffee.Если бы это была ошибка компилятора, она была бы от coffee-script.js.

Так почему же бит process.binding('stdio') в command.js не работает?Я могу подумать о двух возможностях:

  1. Вы используете странную (или странно настроенную) оболочку, которая не очень подходит для версии stdio Node.Это кажется маловероятным, но возможно ...
  2. Вы используете версию Node.js, с которой CoffeeScript в настоящее время не совместим.Что вы получаете, когда делаете node -v?Ваша самая безопасная ставка - последняя версия 0.4.x, поскольку это стабильные версии (0.5.x является экспериментальным).
1 голос
/ 24 апреля 2012

Этот вопрос давно задан.

Узел 0.6.x выдает похожую ошибку с CoffeeScript 1.1.x; обновление до 1.3.x делает свое дело.

0 голосов
/ 05 октября 2012

Скорее всего 2 разных кофе-скрипта в вашей системе. проверьте, какой кофе, чем выследить более старый и ледяной. У меня был один из установки прошлым летом (v1.1), теперь все прояснилось.

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