Quantcast
Channel: Node.jsタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8691

LTS版ではないNode.jsを使用することによるAngularのng serveエラー(仮説)

$
0
0

背景

先日Macを購入し、MacでAngularの環境構築していたところ、ng serveの実行エラーで3日ほどハマりました。このエラーは結局解決したのですが解決方法に確証はありません。ですが、同じ原因で詰まっている人がいるかもしれないと思ったため、チェックポイントの一つとして僕が陥ったエラー原因の仮説をここに残します。

環境 (エラー解決前)

  • Mac (Version 10.15.7)
  • Node.js (15.0.1)
  • Angular CLI (11.0.1)

発生したエラー

上記環境でng serveコマンドを打ったところ以下のエラーが出力されました。

ERROR.txt
ERROR in ./src/app/shared/theme/styles.scss (./node_modules/css-
loader/dist/cjs.js??ref--13-1!./node_modules/postcss-loader/src??
embedded!./node_modules/resolve-url-loader??ref--13-
3!./node_modules/sass-loader/dist/cjs.js??ref--13-
4!./src/app/shared/theme/styles.scss)
Module build failed (from ./node_modules/sass-loader/dist/cjs.js):
SassError: Can't find stylesheet to import.

Angular導入の前提条件

Angular CLIを導入するためにはNode.jsが必要となりますが、前提条件として "LTS版のNode.js" (2020/11/13時点での最新LTSはv14.15.0) がインストールされていることが必要らしいです。

Angular は Node.js の現行またはアクティブLTS、メンテナンスLTS バージョンを必要とします。
Angular -ローカル環境とワークスペースのセットアップ

Node.jsのバージョン切り替え

僕がインストールしたNode.jsはLTS版ではないv15.0.1であったため、v14.15.0のNode.jsをインストールした後で以下コマンドを打ってNode.jsのバージョンを切り替えました。

nodebrew ls
nodebrew use v14.15.0
node -v

"v14.15.0"と表示されていれば切り替え完了です。LTS版のNode.jsに切り替えた後で(更にゴチャゴチャした後)ng serveコマンドを打つとコンパイルが正常に完了し、ローカル環境のブラウザにページを表示させることができました。

まとめ

エラー原因と解決方法がマッチしていたのかは分かりませんが、公式ドキュメントを見る限りNode.jsバージョンの違いが悪さをしていたことは間違いなさそうです。


Viewing all articles
Browse latest Browse all 8691

Trending Articles