2015-03-06 6 views
6

Nach dem Update auf die Version 4.3.0 cordova den Befehl finden:Cordova 4.3.0 - Befehl gibt Fehler bauen kann nicht Modul 'Q'

cordova build 

gibt die folgende Fehlermeldung:

module.js:340 
    throw err; 
     ^
Error: Cannot find module 'Q' 
    at Function.Module._resolveFilename (module.js:338:15) 
    at Function.Module._load (module.js:280:25) 
    at Module.require (module.js:364:17) 
    at require (module.js:380:17) 
    at Object.<anonymous> (/Volumes/CaseSensitive/ios_projects/_Tests/testGruntCordova/testGruntCordova/platforms/ios/cordova/lib/check_reqs.js:25:13) 
    at Module._compile (module.js:456:26) 
    at Object.Module._extensions..js (module.js:474:10) 
    at Module.load (module.js:356:32) 
    at Function.Module._load (module.js:312:12) 
    at Module.require (module.js:364:17) 
ERROR building one of the platforms: Error: /Volumes/CaseSensitive/ios_projects/_Tests/testGruntCordova/testGruntCordova/platforms/ios/cordova/build: Command failed with exit code 8 
You may not have the required environment or OS to build this project 
Error: /Volumes/CaseSensitive/ios_projects/_Tests/testGruntCordova/testGruntCordova/platforms/ios/cordova/build: Command failed with exit code 8 
    at ChildProcess.whenDone (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:131:23) 
    at ChildProcess.EventEmitter.emit (events.js:98:17) 
    at maybeClose (child_process.js:753:16) 
    at Process.ChildProcess._handle.onexit (child_process.js:820:5) 

Ich habe bereits versucht, die Plattform ios zu entfernen und hinzuzufügen, aber nichts ändert sich.

Ich habe zu laufen versucht:

sudo npm install -g cordova/sudo npm install cordova 
sudo npm install -g Q/sudo npm install Q 

aber es ändert sich nichts.

Irgendwelche Hilfe? Vielen Dank

Antwort

1

Dies ist ein Fehler auf case-sensitiven Systemen wie Unix, Linux und einige OS X gezeigt (wenn die Groß- und Kleinschreibung beachtet wird).

Bisher um es zu beheben, müssen Sie eine Zeile wie diese die Dateien lokalisieren enthalten:

Q = require('Q') 

Sie können die Dateien finden, während auf dem Projektverzeichnis mit grep stehen:

grep -HnrI "require('Q" *; 

dann, verwenden Sie einen beliebigen Texteditor, um manuell die erwähnte Linie zu ändern:

Q = require('q') 

Altern tiv können Sie, indem Sie den folgenden Befehl auf Ihrem Projektverzeichnis die zugehörigen Dateien auf einem geraden Weg nach vorn bearbeiten:

grep -rl "require('Q" * | xargs sed -i "" "s/'Q'/'q'/g"; 

Die einzige Zeile oben sucht und bearbeiten die Dateien, die die Änderung benötigen.

0

aus- und dann erneut hinzufügen, die Plattform auch wieder funktioniert:

cordova platform remove ios 
cordova platform add ios 

Jetzt können Sie cordova build ios :)

Wie MeV erwähnt war dies ein Fehler.

Verwandte Themen