Узел EISDIR, когда нет конечных случайных символов

Пытаясь запустить среду MJML из C#, я столкнулся с необъяснимым EISDIR. После некоторой повторной проверки выясняется, что это узел, сообщающий мне, что я пытаюсь выполнить команду только для файлов в каталоге (в данном случае open команда), и этот узел не слишком доволен этим.

Вот настоящая ошибка

Error: EISDIR: illegal operation on a directory, open 'C:\Projects\Websites\FoyerRural\.bin'
at Error (native)

бросается при запуске следующей строки в Powershell

.\packages\Node.js.5.3.0\node.exe .\FoyerRural\node_modules\mjml\bin\mjml C:\Projects\Websites\FoyerRural\.bin\test.mjml -o C:/Projects/Websites/FoyerRural/.bin/test.html

Эта команда мне подходит, но дальнейшие попытки исправить ошибку самостоятельно привели меня к поиску обходного пути: добавьте другой уровень к выходному пути. Следующая команда тогда работает

.\packages\Node.js.5.3.0\node.exe .\FoyerRural\node_modules\mjml\bin\mjml C:\Projects\Websites\FoyerRural\.bin\test.mjml -o C:/Projects/Websites/FoyerRural/.bin/test.html/randomText

обратите внимание на добавленное /randomText в конце выходного пути. Затем команда работает и генерирует файл test.html как следует... игнорируя /randomText

Теперь, если я использую глобально установленный экземпляр node.js вместо моего конкретного проекта, как показано ниже

node .\FoyerRural\node_modules\mjml\bin\mjml C:\Projects\Websites\FoyerRural\.bin\test.mjml -o C:/Projects/Websites/FoyerRural/.bin/test.html

все работает как положено, а test.html файл генерируется правильно.

глобально установленная версия узла - 6.11.3, конкретная версия проекта, установленная через экземпляр Visual Studio NuGet, - версия 5.3.0.

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

0 ответов

Другие вопросы по тегам