• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer

株式会社ハイファイブクリエイト

東京都を拠点にWebサイト制作やシステム構築、WordPress保守管理やウェブコンサルティングを提供。

  • SERVICE
  • ABOUT
  • WORKS
  • BLOG
  • NEWS
  • CONTACT
ホーム / ブログ / TIPS / Foundation CLIのwatchで発生したエラーをnpm startで回避する方法

Foundation CLIのwatchで発生したエラーをnpm startで回避する方法

池田祐太郎 | 2022年3月24日 公開 コメントを書く

レスポンシブフロントエンドフレームワークのFoundationを開発環境で利用する際に、Foundation CLIのコマンドを使って開発していたのですが、久しぶりに使ってみたところエラーで動きませんでした。

根本的なエラー解決には至りませんでしたが、別の方法で回避できましたので、経緯を残しておきます。

目次

  • 1 エラー発生までの経緯
  • 2 foundation watchができない
  • 3 foundation newもエラー
  • 4 foundation watchではなく、npm startでGulpを実行する
  • 5 テンプレートエンジンの将来はどうなるのか

エラー発生までの経緯

静的HTMLを効率良く開発するため、テンプレートエンジンとしてFoundationを利用しているプロジェクトがありました。FoundationはnpmやFoundation CLI、CDNやダウンロードといった様々なインストール方法が用意されていますが、JavaScriptのテンプレートエンジンであるHandlebarsをベースとしたPaniniという機能があり、これを使うには「Foundation for Sites」をインストールする際に「ZURB template(Panini Template)」としてインストールする必要があります。Foundation CLIを使ってインストールすることで、ZURB templateをインストールしテンプレートエンジンが利用できるようになります。

そうして当初は問題なく利用できていましたが、先日このプロジェクトの更新を行うために約1年振りにFoundation CLIを利用したところ、エラーが発生しタスクランナーが動きませんでした。

foundation watchができない

Foudation CLIにwatchコマンドがあります。Foundationをインストールしたディレクトリに移動し、watchコマンドを実行することで、サーバーが起動しアプリが走り、各ファイルの変更を反映したりコンパイルするタスクランナーであるGulpが実行されるため、変更処理がリアルタイムで反映されます。

foundaton watchを実行したところ、エラーとなり実行できませんでした。エラー内容を調べてみると、公式のGithubのissuesに同じようなエラーがありました。

Foundation watch error · Issue #148 · foundation/foundation-cli · GitHub

Foundationのメンバーと思われる方の返答として「Node 14を使え」とありましたので、Node のバージョンを14に変更、Foundation cliをnpm経由でインストールし、再度foundaton watchを実行しました。……が、変わらずエラー。念の為以下のバージョンで試しましたが、全てエラーでした。

  • v14.0.0
  • v14.18.0
  • v14.19.1

foundation newもエラー

新しくプロジェクトを作成するnewコマンドもエラーでした。

✗ Node modules not installed.

ちなみに、Node.jsやnpmのバージョンに起因するかと思い、Node.jsのバージョンを変更してみましたが変わりませんでした。以下、試したバージョンです。

  • v5.12.0
  • v8.17.0
  • v10.16.3
  • v10.24.1
  • v12.22.10

foundation watchではなく、npm startでGulpを実行する

別のissueにヒントがありました。

How can i resolve that foundation problem with npm? · Discussion #12321 · foundation/foundation-sites · GitHub

foundation watchではなくnpm startによって自己解決したようです。そこでnpm startを実行してみたところ、以下のエラーが表示されました。

Node Sass could not find a binding for your current environment: OS X 64-bit with Node.js 14.x

Found bindings for the following environments:
  - OS X 64-bit with Node.js 10.x

This usually happens because your environment has changed since running `npm install`.
Run `npm rebuild node-sass` to download the binding for your current environment.

Node.jsのバージョンが以前から変わっていたため、Node Sassが見つからないとのこと。npm rebuild node-sass を実行することでダウンロードされるようです。そこで早速 npm rebuild node-sass を実行し、現在の環境にあったバージョンがダウンロードされました。

再度npm startすると、無事Gulpが起動しローカルサーバーが立ち上がり、タスクランナーも問題なく動きました。

Finished 'server' after 282 ms
Starting 'watch'...

foundation watch での起動は変わらずエラーですし、foundation new がエラーになるため新規プロジェクトは作成できませんが……既存プロジェクトでのwatchの代わりに利用できるということで良しとします。新規プロジェクトではFoundationは利用せず、別のテンプレートエンジンを採用するのが良さそうです。

テンプレートエンジンの将来はどうなるのか

PaniniのGithubのスター数は582、最終リリースは2020年7月となり、盛り上がっているわけではなく積極的に開発されてもいないため、将来的に利用できなくなる可能性があると言えます。となると、このままHandlebarsを基本としたPaniniを使っていくよりかは、別のテンプレートエンジンに乗り換えて置いたほうがいいかもしれません。

例えばテンプレートエンジンのPugのGithubを見るとスター数は2万、最終リリースは2021年3月です。同じくEJSはスター数6,000、最終リリースは2021年2月。

実際触っていないのでわかりませんが、このような声もありました。

EJSとかって結局Vue.jsとがあるからいらないのですか?

HTMLのテンプレートエンジンだけでVue.jsやReactを学ぶには学習コストが高いなぁと思い、なかなか手がでないでいます。流行り廃りも早いですし、将来的に使い続けられるという保証もありません。

「最適解を見つける」というよりはその都度プロジェクトにあった方法を採用していく、というのがベターなのかもしれませんね。

メールコンサルティング
WordPress保守管理サービス

Filed Under: TIPS 関連タグ:ツール

池田祐太郎

WordPressの導入を10年以上にわたって手掛けており、主に小〜中規模のコーポレートサイト・ECサイト・ブランドサイト等の企画・開発・保守・コンサルティングなどを行ってきました。2012年にハイファイブクリエイトを創業し、現在はWordPressの保守やコンサルティング、ディレクションや開発業務などを担当しています。 プロフィール詳細

Reader Interactions

コメントを残す コメントをキャンセル

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

For security, use of Google's reCAPTCHA service is required which is subject to the Google Privacy Policy and Terms of Use.

I agree to these terms.

この記事と関連する記事

かんたんにできるページ表示速度を軽くするためのオンライン画像圧縮ツール
2021年4月12日
タグ: Webサイト高速化, ツール
カテゴリー: ホームページ制作
1度見たらもう見れない。重要な情報を安全に共有するツール 1ty.me
2019年8月2日
タグ: ツール
カテゴリー: TIPS
スパム防止のためメールアドレスを暗号化してサイト内に記載する方法(今の所)
2019年6月21日
タグ: ツール
カテゴリー: TIPS

人気記事

  1. 同一サーバー上に構築するWordPressのテスト環境の作り方
  2. サイト制作の要件定義書に普段書いている内容(ダウンロード可)
  3. ダウンロードして即使えるサイトマップ(サイト構成図)のテンプレート5点
  4. コラム:class名とid名はどうやってつければいい?
  5. Elementorで表を作る3つの方法
  6. 【2022年最新】WooCommerceで作られた国内ECサイト一覧まとめ

最初のサイドバー

WordPress保守管理サポート

Search

最近の投稿

  • なぜかSSL化されないエックスサーバーのWordPress 簡単インストール機能でhttpsに変更し常時SSLを実現する方法
  • ブラウザ戦争の一区切り。Internet Explorer のサポート終了で思うこと
  • エクセルを使って顧客データから任意の条件に合う顧客を抽出する方法
  • 2022年以降WordPressのテーマを選ぶ際にこれだけは注意しておきたいポイント
  • ブロックエディタを拡張するSnow Monkey Editorプラグインはコーポレート+ブログに適切

カテゴリー

  • CSS初心者
  • HTML初心者
  • TIPS
  • WooCommerce
  • WordPress
  • エステサロン
  • お知らせ
  • キュレーション
  • サイトマップ
  • システム会社
  • デベロッパーツール入門
  • ブログ
  • ホームページ制作
  • ホームページ制作無料講座
  • メール
  • モバイル
  • 仕事のこと
  • 制作実績
  • 整体院
  • 美容院
  • 雑感

タグ

Android aws Backlog BtoC CMS css Dropbox Paper elementor google workspace Gutenberg HTML IE10 iPhone jQuery Mac php SEO SNS ssh SSL Sublime Text Webサイト高速化 WordPress WordPressカスタマイズ WordPressテーマ WordPress構築調査 WPRocket アクセス解析 アプリ クラウド クラウドソーシング サブスクリプション サーバー ショートカット スマホサイト スマートフォン ツール フルサイト編集 ブログ プラグイン マーケティング リニューアル 保守管理 最適化 集客するサイト構築

アーカイブ

CONTACT

お問い合わせはこちら

Footer

  • PRIVACY POLICY
  • 特定商取引法に基づく表示
  • 転載・引用について
  • Facebook

© 2022 high five create All rights reserved.