読者です 読者をやめる 読者になる 読者になる

日々精進

新しく学んだことを書き留めていきます

gulp taskを実行すると「Error: Task is not configured as a task on gulp. If this is a submodule, you may need to use require('run-sequence').use(gulp).」エラー

web

原因は以下。 * マルチプロジェクト構成にしており、かつ以下のようにnode_modulesが複数ある root/node_modules root/project1/node_modules * 両方のnode_modulesにgulpがインストールされており、gulpのrunSequenceプラグインを使っている

この場合、gulpのrunSequenceプラグイン内部でrequire('gulp')しているところがあり、その結果取得するモジュールはroot/node_modules/gulpからロードしたモジュール。 それに対してroot/project1/gulpfile.jsでタスクを定義したgulpモジュールはroot/project1/node_modules/gulpからロードしたモジュールなので、実行するタスクが見付からなくてエラーになっていた。

root/node_modulesはいらないので削除すると直った。