gulpを利用したローカルサーバー立ち上げとsass+ejsのコンパイル環境構築 前編【gulp】

公開日:

最終更新日:

gulpを利用したローカルサーバー立ち上げとsass+ejsのコンパイル環境構築 前編【gulp】

かなり前にgulpは触ったことがあったのですが、ruby-sassを使っていたこととPHPを中心に扱っていたこともあり、特に活用方法が見いだせていない状態だったので、ほとんど利用していませんでした。

少し前に割と大きなCMS改修案件があった際に、PHPを利用してコーディングを進めてそのままテンプレート移行をしようと思っていたのですが、複数人数でやるには全員の習熟度があまり高くなく、Dockerでローカル環境を整えるというのも周知しなければならなかったため難しい状況でした。
現状はwebpackやnpm-scriptsでタスク管理する方が良いという意見が多いですが、手っ取り早く使える情報としてはgulpの方が多く、初期設定と立ち上げさえしてしまえば環境にはあまり左右されずに統一した環境で開発できるので、gulpを利用してローカルサーバー + sass + ejsでいったんコーディングを進めようという結論に至りました。

今回は前編と後編に分けて書きますが、まずはgulpを利用する際の環境構築について書きたいと思います。
実際に業務で利用していた環境はWindows10でしたが、Macも同じような環境は用意できたので、両方書いていきたいと思います。

node.jsをインストールする

まずgulpを実行するにはnode.jsが必要なのですが、単純にインストールするだけではデメリットがあります。
過去のバージョンのnode.jsで動いていたタスクを実行する際にはタスクを実行していたバージョンにnode.jsを合わせなければいけません。

バージョンを合わせるためにインストールとアンインストールを繰り返すのは時間も労力ももったいないです。
なので、node.jsのバージョンを管理できるツールをインストールします。
node.jsをすでにインストールしているとバージョン管理が適切に動作しない可能性が高いので、事前に全てアンインストールしておきましょう。

Windowsは特に問題なかったのですが、Macは少々時間がかかったので、参考にしたリンクを貼っておきます。
【Mac版】node.jsのアンインストールと再インストール手順メモ

Windows10の場合

現在はあまり推奨されている方法ではないかもしれませんが、Windows10の場合はnodistをインストールしてバージョン切り替えをできるようにします。
推奨されている方法じゃないなら別の方法で・・・と考える方はDockerなどでLinuxOS上に別のツールをインストールする方法もあります。

nodistの場合は特に設定することもなく、インストーラーからnodistをインストールするだけです。
インストールが正常に終わっていれば、コマンドプロンプト上で「nodist -v」と入力するとバージョンが表示されます。

Macの場合

Macで作業環境が必要というわけでは無かったのですが、せっかくなので同じような実行環境ができるように調べてみました。
anyenv経由でnodenvをインストールする方法が効率的らしいです。
anyenv + macOS環境構築

リンクの記事を参考にanyenvをインストールし、anyenvからnodenvをインストールしました。
私はHomebrewをインストールしていなかったことと、さらにツールを覚えるのは少し面倒だと感じたため、Gitからクローンしてインストールする方法にしました。

ちなみに利用しているMacのOSは最近になってHigh SierraからCatalina(Big Surはまだ見送り中です)へアップデートしたため、ターミナルはbashが初期設定となっていましたがインストールなどはうまくいっていたようで、特に問題はなかったように思いました。
といっても今後はzshに切り替えないといけないので、デフォルトをzshに切り替えてから、bashの設定ファイル等をコピーした後に再度バージョン等確認したところ問題なさそうでした。

今のところnodenv以外は使う予定がないのでプラグイン関連のインストールはしていませんが、頻繁に扱う予定がある方や、そのほかの○○envを扱う予定がある方はインストールしておいた方がアップデートの手間は省けるかもしれません。

npxをグローバルインストール

npxはnpm5.2以降であればインストール時にバンドルされているようで、基本的にはインストールする必要はないはずですが、Windows環境でnodistではバンドルされていないのか、npxコマンドが使えないようでした。
コマンドを利用するには以下のコードをコマンドプロンプトに入力して、インストールをしておきます。
これでgulpを利用する事前準備は完了です。

npm install -g npx

ちなみにMac環境の場合はnpxもバージョン確認はできるのですが、どうやらnpmのバージョンを参照しているようで、npmのサイトに掲載されているバージョンにはないバージョンの「6.14.11」を示していました・・・。(バンドルされているという意味ではあっているのかもしれませんが)
アンインストールしてもデータがうまく消えずに残ってしまうようだったので、forceオプションで強制的に上書きインストールしました。

npm install -g npx --force

あまりないかもしれませんが、古いバージョンのgulpを動作させる際に、npxをダウングレードする作業が必要になるかもしれません。

まとめ

前編ということでgulpを利用する際の環境構築について書いてみました。
Windowsについては過去にnode.jsをそのままインストールしていたので、アンインストールなどでもう少し手間取るかなと思っていたのですが、nodistさえ入れてしまえばバージョンの切り替えもすんなり終わりました。

Macの方が曲者で、過去にnode.jsをそのままインストールしていたこともあり、完全削除するまでに結構時間がかかったのと、bashからzshに途中から変更したこともあり、コマンドが見つからないなどのトラブルが頻発して調べ物に時間がとられてしまいました。

ただ、コマンド打った際に注意深くエラー内容を読んだ甲斐あって、真似して記述するだけではなく、ある程度ツールや関連する事項についての理解が深まりました。

業務優先の時はスピードを重視するあまり、見えているエラー文を理解せずに解決策をコピーしてしまうことが多かったので、時間がある時はしっかり読んで理解を深めていかないといけませんね。

関連記事