2016-07-29 15 views
1

プロジェクトルートからアクセスできるシェルコマンド./node_modules/cordova/bin/cordovaがあります。プロジェクトフォルダ内のシェルコマンドを実行します。

また、./configフォルダにあるGruntの設定ファイルもあります。

その後

grunt.initConfig({ 
    buildDir: 'build/interim_builds', 
    publishDir: 'build/publish', 
    cordovaCommand: './node_modules/cordova/bin/cordova', 
    ... 

})、から:今すぐ

私はこのようにそれを持っているGruntfile.jsにおけるので、タスクからコルドバを実行し、エイリアスとしてそれを使用したいしようとしています私はこのエラーを取得する結果

mobileApp_create: { 
    cmd: '<%= cordovaCommand %> create <%= mobileAppProjectDir %>' 
} 

'.' is not recognized as an internal or external command,

タスク私はこのようにそれを実行します

私は

cordovaCommand: 'node_modules/cordova/bin/cordova' 

cordovaCommand: './node_modules/cordova/bin/cordova' 

を交換する場合、私はこのエラーが表示されますので、

'node_modules' is not recognized as an internal or external command,

、私はそれが相対パスで何かすることができ、うなり声がでどのように機能するかを想定それら?グローバルではなく、コードバのローカルインストールを使用する必要があるため、この問題を解決するにはどこで掘り下げますか。

+1

それは動作しますか? – fedorqui

+0

グローバルにインストールされたコードバが使用可能な場合に実行される 'cordova create <%= mobileAppProjectDir%>'を使用すると動作しますが、 './node_modules/cordova/bin/cordova create <%= mobileAppProjectDir %> ' –

+0

代わりにこれを代わりに使ってみてください:https://github.com/csantanapr/grunt-cordovacli。 – johnborges

答えて

0

あなたは、実行時にパスを解決し、完全に試みることができる、そのように相対パスはありません:あなたは完全なパスを使用する場合

var path = require('path'); 

module.exports = function(grunt) { 

    grunt.initConfig({ 
    buildDir: 'build/interim_builds', 
    publishDir: 'build/publish', 
    cordovaCommand: path.resolve('./node_modules/cordova/bin/cordova'), 

    // ... 
    }); 
    // ... 
}; 
関連する問題