При использовании grunt.util.spawn
на win32 с пробелами в пути аргумента cmd
он вызывает его, не выходя из пространства. Например мой путь содержит «C: \ Users \ Бук Горн», так что сообщение об ошибке я получаю этоGrunt cmd с пробелами в пути
'C:\Users\Beech' is not a recognized as an internal or external command,
operable program or batch file
Однако grunt.file.exists
показывает файл есть.
Кроме того, если я оберните CMD аргумент с '"' + cmd '"'
, grunt.file.exists
может найти файл, однако я получаю
Fatal error: spawn ENOENT
Кто-нибудь решить эту проблему уже с другими плагинами хрюкать?
Ошибка «порождение ENOENT», кажется, вещь, которая случается * много * в Node.js коде (поместите его в Google), в основном, когда отсутствует требуемая двоичная информация для вызова. Наверное, больше путей-с-пространствами-шениганами. Правильно ли работает, когда все пути задействованы без пробелов? – Charles
Хороший вопрос - я тестирую его сегодня вечером, чтобы лучше идентифицировать ошибку. Было просто смущено о том, что grunt.file.exists находит его. – Metalshark
Добавление 'string.replace ('', '\\')' в нужном месте очистило эту ошибку, но теперь stdin/out не работает. Время копать глубже. – Metalshark