LoginSignup
6
3

More than 3 years have passed since last update.

gulp実行エラーでnode.jsのバージョンを変更する

Posted at

gulp実行エラー発生

$ gulp

gulpを実行すると下記のエラーが発生した。

ReferenceError: primordials is not defined

エラーの意味は、node.jsとgulpのバージョンが合ってないよということ。

ちなみにバージョンは下記

$ node -v
v14.8.0

$ gulp -v
CLI version: 2.3.0
Local version: 3.9.1

$ npm -v
6.9.0

上記エラーの対処方法は2つ。

1.gulpのバージョンを3系から最新の4系に変更する。
2.node.jsのバージョンを下げる

今回はnode.jsのバージョンを下げる方法で対応する。

ちなみにnode.jsはhomebrewでインストールしていました。

brew install node.js

ここでいろいろ調べてみるとnodebrewという便利なツールがあることを発見。

nodebrewとはnode.jsのバージョンを管理できるツールとのこと。

homebrewでnodebrewをインストール

brew install nodebrew

#インストールできているか確認
$ brew list
nodebrew

##nodebrewセットアップ
$ nodebrew setup

環境変数の設定

~/.bash_profileファイルに以下を追記

bash_profile.
export PATH=/usr/local/var/nodebrew/current/bin:$PATH
export PATH=$HOME/.nodebrew/current/bin:$PATH
#環境変数の反映
$ source ~/.bash_profile

利用可能なnode.jsのバージョンを確認

$ nodebrew ls-remote

v0.0.1    v0.0.2    v0.0.3    v0.0.4    v0.0.5    v0.0.6

v0.1.0    v0.1.1    v0.1.2    v0.1.3    v0.1.4    v0.1.5    v0.1.6    v0.1.7
v0.1.8    v0.1.9    v0.1.10   v0.1.11   v0.1.12   v0.1.13   v0.1.14   v0.1.15
v0.1.16   v0.1.17   v0.1.18   v0.1.19   v0.1.20   v0.1.21   v0.1.22   v0.1.23
v0.1.24   v0.1.25   v0.1.26   v0.1.27   v0.1.28   v0.1.29   v0.1.30   v0.1.31
v0.1.32   v0.1.33   v0.1.90   v0.1.91   v0.1.92   v0.1.93   v0.1.94   v0.1.95
v0.1.96   v0.1.97   v0.1.98   v0.1.99   v0.1.100  v0.1.101  v0.1.102  v0.1.103
v0.1.104  ~
#全てのバージョンが表示される

利用したいバージョンのnode.jsをインストールする

今回はgulp3系に対応しているv10.16.0をインストール

// 特定のバージョンのインストール
$ nodebrew install-binary v10.16.0

// 利用可能なバージョン(現在はこの2つのバージョンが利用できる)
$ nodebrew ls
v14.8.0
v10.16.0
current: v14.8.0

インストールエラーが出る場合

Fetching: https://nodejs.org/dist/v10.16.0/node-v10.16.0-darwin-x64.tar.gz
#=#=-  #       #                                                                                                                                                                                                                                               Warning: Failed to create the file
Warning: /Users/username/.nodebrew/src/v10.16.0/node-v10.16.0-darwin-x64.t
Warning: ar.gz: No such file or directory
                                                                                                                                                                                                                                                            0.0%
curl: (23) Failed writing body (0 != 985)
download failed: https://nodejs.org/dist/v10.16.0/node-v10.16.0-darwin-x64.tar.gz

インストールできるディレクトリが存在していないということなので、下記コマンドでディレクトリを作成する。

$ mkdir -p ~/.nodebrew/src

//再度インストール
$ nodebrew install-binary v10.16.0

//下記ディレクトリを見てみるとインストールされていることが確認できる。
/Users/username/.nodebrew/src
$ ls -la
drwxr-xr-x  4 username  staff  128 11 29 19:43 .
drwxr-xr-x  9 username  staff  288 11 29 19:53 ..
drwxr-xr-x  3 username  staff   96 11 29 19:42 v10.16.0
drwxr-xr-x  3 username  staff   96 11 29 19:43 v14.8.0

node.jsのバージョンを変更する

// バージョンの切り替え
$ nodebrew use v10.16.0

//変更確認
$ node -v
v10.16.0

node.jsのバージョンを変更することができたのでgulp実行

$ gulp

正常にgulpが動作しました。

フロントエンドの環境構築はnode.jsのバージョンによって結構詰まることが多かったので、nodebrewでnode.jsのバージョン管理ができるのは非常に便利ですね。

6
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
3