ShadCN UI コマンドが実行できない場合の解決方法
問題の状況
ターミナルでShadCN UIのコマンドを実行しようとすると、次のエラーが発生する:
bash
npx shadcn-ui@latest add button
sh: line 1: shadcn-ui: command not found
この問題は突然発生し、以下の試行では解決されません:
- インターネット接続のリセット
- プロジェクトの新規作成
根本原因
ShadCN UIがパッケージ名を変更しました:
- 従来:
shadcn-ui
- 現在:
shadcn
この変更により、古いコマンドは機能しなくなっています。
解決方法
最新コマンドの使用
プロジェクトの初期化:
bashnpx shadcn@latest init
このコマンドで必要な依存関係がインストールされ、Tailwind CSSの設定とCSS変数が追加されます。
コンポーネントの追加:
bashnpx shadcn@latest add button
補足情報
- モノレポ使用時:
-c
オプションでワーキングディレクトリを指定bashnpx shadcn@latest add button -c ./apps/www
- グローバルインストール:頻繁に使用する場合bash
npm install -g shadcn
WSL環境での追加手順
Windows Subsystem for Linux (WSL) ユーザーは以下の手順が必要:
bash
npm install shadcn-ui
npm audit fix --force
npx shadcn@latest init
注意
npm audit fix --force
は依存関係を強制的に更新するため、問題が発生する可能性があります
旧バージョンが必要な場合(非推奨)
どうしても古いバージョンが必要な場合:
bash
npx shadcn-ui@0.8.0 init
重要
この方法は一時的な回避策であり、公式ドキュメントでは推奨されていません
ベストプラクティス
公式ドキュメントを常に参照
ShadCN CLI公式ドキュメントは頻繁に更新されます依存関係の定期的な更新:
bashnpm update shadcn
バージョン管理の問題回避:
bashnpx shadcn@latest add [component] # 常に最新版を使用
変更の背景
ShadCN UIは2024年半ばに大規模なアップデートを実施し:
- CLIツールの最適化
- ユーザーエクスペリエンスの改善
- モノレポサポートの強化
これらの改良に伴い、コマンド体系が変更されました。
トラブルシューティング
上記で解決しない場合:
bash
# キャッシュクリア
npm cache clean --force
# node_modules削除と再インストール
rm -rf node_modules
rm package-lock.json
npm install
プロジェクト構成に問題がある可能性もあるため、公式GitHubのIssuesも確認してください。