TypeError: log.gauge.isEnabled is not a function が出たときの対処法

今日、しばらくおいていたLaravelプロジェクトを久しぶりに動かそうと、”yarn run watch”したところ、

$ yarn run watch
yarn run v1.22.4
$ npm run development -- --watch
/path/to/directory/node_modules/npm/node_modules/npmlog/log.js:57
log.progressEnabled = log.gauge.isEnabled()
                                ^

TypeError: log.gauge.isEnabled is not a function
    at Object.<anonymous> (/path/to/directory/node_modules/npm/node_modules/npmlog/log.js:57:33)
    at Module._compile (internal/modules/cjs/loader.js:1137:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
    at Module.load (internal/modules/cjs/loader.js:985:32)
    at Function.Module._load (internal/modules/cjs/loader.js:878:14)
    at Module.require (internal/modules/cjs/loader.js:1025:19)
    at require (internal/modules/cjs/helpers.js:72:18)
    at //path/to/directory/node_modules/npm/bin/npm-cli.js:19:13
    at Object.<anonymous> (/path/to/directory/sites/node_modules/npm/bin/npm-cli.js:75:3)
    at Module._compile (internal/modules/cjs/loader.js:1137:30)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

上記のようなエラーが発生。

yarn installなどを行ったうえで実行してみたのですがエラーは変わらず…

調べてみたところ下記の記事が見つかりました。

TypeError: log.gauge.isEnabled is not a function – Qiita

どうやら、node_modulesを一度削除して入れなおせば解決するとのこと。

記事上ではグローバルなnode_modulesですが、自分の場合はプロジェクトのnode_modulesがおかしくなっているようだったので、プロジェクト内のnode_modulesを一旦削除。

rm -rf /path/to/directory/node_modules

そのあと、もう一度yarn installを実行したら

$ yarn install
yarn install v1.22.4
[1/4] Resolving packages...
[2/4] Fetching packages...
info fsevents@1.2.9: The platform "linux" is incompatible with this module.
info "fsevents@1.2.9" is an optional dependency and failed compatibility check. Excluding it from installation.
info fsevents@2.0.7: The platform "linux" is incompatible with this module.
info "fsevents@2.0.7" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
warning " > sass-loader@7.2.0" has unmet peer dependency "webpack@^3.0.0 || ^4.0.0".
[4/4] Building fresh packages...
Done in 46.33s.
$ yarn run watch
yarn run v1.22.4
$ npm run development -- --watch

> @ development /path/to/directory
> cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js "--watch"

10% building 1/1 modules 0 active
webpack is watching the files…

10% building 2/5 modules 3 active ...node_modules/style-loader/lib/addStyles.jsBrowserslist: caniuse-lite is outdated. Please run next command `yarn upgrade`
98% after emitting SizeLimitsPlugin

 DONE  Compiled successfully in 14699ms                                 11:06:11

       Asset      Size   Chunks             Chunk Names
/css/app.css   178 KiB  /js/app  [emitted]  /js/app
  /js/app.js  1.96 MiB  /js/app  [emitted]  /js/app


無事yarn run watchが通りました!

なお、rm -rfを行う際は誤って別のディレクトリやファイルを指定しないように十分注意して下さい。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG