Неправильный путь к модулю Cordova Apache

Мой вопрос

Я учусь делать гибридное приложение с кордовой apache (ранее Phonegap?). Я следую шагам, которые они рекомендуют на своем веб-сайте:

https://cordova.apache.org/docs/en/latest/guide/cli/index.html

Я успешно установил nodeJS (если я выполню команду node --version, он вернет свою версию)

Но когда я пытаюсь установить кордову, все работает, но не CLI.

Итак: я предполагаю, что CLI настроен неправильно, но я не уверен. Кто-нибудь может помочь мне здесь?


Заметки:

  • Команда, используемая для установки Cordova (глобально):

    npm install -g cordova
    
  • Команда, используемая для проверки правильности установки и доступности из командной строки (с указанными ошибками):

    cordova --version
    module.js:340
        throw err;
        ^
    
    Error: Cannot find module 'c:\Program Files\nodejs\node_modules\cordova\bin\cordova'
        at Function.Module._resolveFilename (module.js:338:15)
        at Function.Module._load (module.js:289:25)
        at Function.Module.runMain (module.js:457:10)
        at startup (node.js:138:18)
        at node.js:974:3
    
  • Я узнал, что путь в ошибке не существует:

    c:\Program Files\nodejs\node_modules\cordova\bin\cordova
    
  • Правильный путь должен быть:

    C:\Users\Username\AppData\Roaming\npm\node_modules\cordova\bin\cordova
    
  • Я настроил этот путь в своих глобальных системных средах:

    C:\Users\Username\AppData\Roaming\npm
    
  • Я заметил этот файл (который, я думаю, нужно вызывать из CLI)

    #!/bin/sh
    basedir=`dirname "$0"`
    
    case `uname` in
        *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
    esac
    
    if [ -x "$basedir/node" ]; then
      "$basedir/node"  "$basedir/node_modules/cordova/bin/cordova" "$@"
      ret=$?
    else 
      node  "$basedir/node_modules/cordova/bin/cordova" "$@"
      ret=$?
    fi
    exit $ret
    
  • Я работаю на Windows 8


person JustDevelop    schedule 25.11.2015    source источник


Ответы (2)


Недавно я столкнулся с той же проблемой. Решил это, выполнив следующие действия:

npm -g install npm

npm install -g cordova

Проблема заключалась в том, что версия npm, входящая в состав последней стабильной версии узла, не поддерживает некоторые пакеты.

person Fábio Junqueira    schedule 05.02.2016

В windows внутри корневой папки проекта я нашел два файла cordova.cmd и cordova. Удалите эти два файла

person Fabian Celis    schedule 11.09.2018