npm install 実行時の「Unexpected token '.'」エラー解決方法
問題の概要
npm install -g @angular/cli
や他の npm パッケージのインストール時に、以下のエラーが発生することがあります:
npm ERR! Unexpected token '.'
npm ERR! A complete log of this run can be found in:
このエラーは主に Windows 環境で発生し、Node.js と npm のバージョン互換性や NVM (Node Version Manager) の問題が原因です。
主な原因
このエラーは以下の要因で発生します:
- Node.js と npm のバージョン互換性問題 - 特に Node.js 17.4.0 と npm 8.3.1 の組み合わせ
- NVM の古いバージョン - Windows 用 NVM の 1.1.7 などの古いバージョン
- Node.js バージョンの互換性 - 特定の Angular バージョンと Node.js バージョンの不一致
解決方法
方法1: Node.js バージョンダウングレード
推奨解決策
Node.js をバージョン 16.13.2 にダウングレードする
現在最も確実な解決方法は、Node.js をバージョン 16.13.2 に変更することです:
nvm install 16.13.2
nvm use 16.13.2
方法2: NVM のアップデート
Windows で NVM を使用している場合、最新バージョンに更新します:
- NVM for Windows リリースページから最新版をダウンロード
- 既存の NVM を上書きインストール
- 問題のある Node.js バージョンをアンインストールして再インストール
nvm uninstall 18.X.X # 問題のバージョン
nvm install 18.X.X # 同じバージョンを再インストール
方法3: npm バージョンの変更
Node.js バージョンを変更せずに npm のみを変更する方法:
# まず互換性のある Node.js バージョン (16.13.2など) を使用
nvm use 16.13.2
# npm を最新版に更新
npm install -g npm@latest
# 目的の Node.js バージョンに戻る
nvm use 目的のバージョン
方法4: Yarn の使用
npm の代わりに Yarn パッケージマネージャーを使用する:
yarn global add @angular/cli
予防策
- NVM の最新版を使用 - 定期的に NVM を更新する
- LTS バージョンの Node.js を使用 - 生産環境では安定版の LTS バージョンを使用する
- バージョン互換性を確認 - 使用するフレームワークと Node.js の互換性を確認する
トラブルシューティング
注意
すべての手順を実行する前に、現在の Node.js と npm のバージョンを確認してください
node -v
npm -v
nvm --version
問題が解決しない場合は、以下のログファイルを確認してください: C:\Users\<user>\AppData\Local\npm-cache\_logs\*.log
まとめ
「Unexpected token '.'」エラーは主にバージョン互換性の問題によるものです。Node.js を 16.13.2 にダウングレードするか、NVM を最新版に更新することで解決できます。Angular などの特定のフレームワークを使用する場合は、公式ドキュメントで推奨される Node.js バージョンを確認することが重要です。