TypeError: require.extensions.hasOwnProperty is not a function [gulp実行時のエラー対応]
以前作成した、プロジェクトを修正するのに当たって、gulpコマンドを叩いた時にタイトルのようなエラー文が出た時の対応策です。
このエラー、結構見受けられるらしいですが、ググっても解決策が日本語では見つからなかったのでかき残しておきます。
エラー例はこんな感じ。(ここではLaravelーelixirの表記が出ていますが、関係ないです。)
TypeError: require.extensions.hasOwnProperty is not a function
at requireDir (/Users/user/workspace/project/node_modules/laravel-elixir/node_modules/require-dir/index.js:93:37)
at Elixir (/Users/user/workspace/project/node_modules/laravel-elixir/index.js:2:27)
at Object.<anonymous> (/Users/user/workspace/project/gulpfile.js:15:1)
at Module._compile (module.js:652:30)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
原因
node.jsのバージョンアップによるものです。
僕はこのプロジェクトには途中から修正で関わったのですが、製作されたのは数年前らしく、僕のnodeのバージョンよりも古いもので作られていたみたいです。
解決方法
node.jsのバージョンを切り替えるのに便利なnvmを使用しましょう。
# nvmのインストール
git clone git://github.com/creationix/nvm.git ~/.nvm
# 設定の読込(こちらでうまくいかない場合は手動でバッシュを書き換えてください。)
echo "source ~/.nvm/nvm.sh" >> ~/.bash_profile && source ~/.bash_profile
# nvmのバージョン確認
nvm --version
# install 可能なnode確認
nvm ls-remote
#nvmから v6のインストール(v6.11.0がもっとも安定してるぽい)
#僕の時はv6が該当しました。node-v8以上を使用していることでこのエラーに出会っているのであれば、
#おそらくv6を使用すればいけるんじゃないかと思います。
nvm install 6.11.0
# インストールされたか確認
node -v
#gulp実行
gulp
参考元
https://github.com/tjunnone/npm-check-updates/issues/367
https://github.com/tjunnone/npm-check-updates/issues/363#issuecomment-308452577
もしも間違い・ご指摘ありましたらよろしくお願いします。
Author And Source
この問題について(TypeError: require.extensions.hasOwnProperty is not a function [gulp実行時のエラー対応]), 我々は、より多くの情報をここで見つけました https://qiita.com/shotaroh/items/14ee2d116261ec3b22c0著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .