Quantcast
Channel: Node.jsタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8829

Gulp環境構築にて「AssertionError [ERR_ASSERTION]: Task function must be specified」の原因はgulp v4にバージョンアップした事による仕様変更

$
0
0

始めての投稿です。
1. エラー内容、背景
2. 環境
3. 解決方法
4. 原因
の順に記載して行きます。

1. エラー内容、背景

gulpにてSassを自動コンパイルしたかったため、Homebrew、Node.js、gujpをインストール。
gulp自動監視を起動しようと、コマンド実行すると、

qiita.rb
'AssertionError [ERR_ASSERTION]: Task function must be specified'

と言うエラーが。

2. 環境

mac

  • npm 6.7.0
  • Node.js 12.13.0
  • CLI 2.2.0
  • gulp 4.0.3

3. 解決方法

Node.jsgulpのバージョンを下げる。

  • Node.js 12.13.0
  • gulp 4.0.3

  ↓

  • Node.js 11.15.0
  • gulp 3.9.1

Node.jsのバージョンの下げ方は、

qiita.rb
$npminstall-gn

を実行した後に、

qiita.rb
$sudon11.15.0

参考:Node.jsのバージョンを管理するライブラリ「n」

gulpのバージョンの下げ方は、

qiita.rb
$sudonpminstall--save-devgulp@3.9.1

4. 原因

①gulpのバージョンが4に上がったことにより、gulpfile.jsのgulp.task()の引数の指定方法が変わった。
 gulp v4へのバージョンアップによる変更点などはこちらのページがわかりやすくまとめられています。
 gulp v4.0.0がプレリリース! 移行方法と変更点まとめ
②gulp v3とNode.js v12の組み合わせは動かない
 gulp v3とNode.js v12で実行した場合、

qiita.rb
puts'ReferenceError: primordials is not defined'

 と言うエラーが。
 すみませんが、v12ではなぜ動かないのかはわからず、以下のページを参考にし、11.15.0だと動くことを確認しました。
 参考:ReferenceErrorを修正する方法

以上、AssertionError [ERR_ASSERTION]: Task function must be specifiedの解決方法でした。


Viewing all articles
Browse latest Browse all 8829

Trending Articles