При попытке запустить Cordova cli на OSX возникает ошибка
env: node\r: нет такого файла или каталога
Я получил последнюю версию Cordova от npm, поэтому я думаю, что это 3.0.7.
При попытке запустить Cordova cli на OSX возникает ошибка
env: node\r: нет такого файла или каталога
Я получил последнюю версию Cordova от npm, поэтому я думаю, что это 3.0.7.
Решение:
$ brew install dos2unix
$ find /usr/local/lib/node_modules -name "*.js" | xargs sudo dos2unix
Подробности:
Проблема для OP была связана с Git, однако я воспользуюсь моментом, чтобы упомянуть быстрое исправление для большинства его случаев.
Проблема появится, если Node попытается выполнить файл .js
, который имеет окончание строки в стиле Windows. Проблема может возникнуть из-за сторонних пакетов npm, в которых есть .js
файлов такого типа.
Как @Leo упомянул Dos2Unix вот ответ, Вот цепочка команд для примера ситуации, когда я пытался установить Slack-cli< /а>
> npm install -g slack-cli
> slackcli
env: node\r: No such file or directory
Исправление выглядит так
> brew install dos2unix
> find /usr/local/lib/node_modules/slack-cli -name "*.js" | xargs sudo dos2unix
> slackcli --help
Валла..
Проблема в том, что кордова в формате dos
как только я преобразовал его в формат Unix, он, кажется, работает. Я не получаю env: node\r: нет такой ошибки файла или каталога.
Я использовал dos2unix для внесения изменений https://code.google.com/p/rudix/downloads/detail?name=dos2unix-5.3.3-0.pkg
На моей машине файл Cordova фактически находился в usr/local/lib/node_modules/cordova/bin/cordova.
На моем Mac OS X.
Я только что столкнулся с той же проблемой: в моих файлах были изменены окончания строк на CRLF (windows) вместо LS (unix).
Из-за этого Cordova и Node не смогли скомпилировать проект с ошибкой:
env: node\r: нет такого файла или каталога
Виновником был GIT, который был на AUTOCRLF, я не знаю почему. Я выполнил следующую команду в терминале:
git config --global core.autocrlf input
Затем мне пришлось удалить проект и повторно клонировать его из GIT, и это сработало как шарм.
Для меня проблема в установленной библиотеке gulp в файле:
'/node_modules/gulp/bin/gulp.js'
Он имеет '\ r' в конце строки '#!/usr/bin/env node'. Версия:
"github:gulpjs/gulp#4.0"
Это было исправлено установкой:
git config --global core.autocrlf input
И перезагружаем репозиторий