Skip to content

Viteプロジェクトでのshadcnインストール時のTailwindエラー

問題の説明

Viteで作成したReactプロジェクトにshadcnを導入する際、npx shadcn@latest init コマンド実行中に次のエラーが発生します:

text
No Tailwind CSS configuration found at /your/project/path.
It is likely you do not have Tailwind CSS installed or have an invalid configuration.
Install Tailwind CSS then try again. 
Visit https://tailwindcss.com/docs/guides/vite to get started.

この問題は、一見正しくTailwind CSSをインストールしているように見える場合でも発生します(下記の手順後)。具体的には以下のコマンドを実行した後でもエラーがでます:

bash
npm install -D tailwindcss postcss autoprefixer
npx tailwindcss init -p

エラーの根本原因は、TailwindのディレクティブがグローバルCSSファイルに正しく追加されていないことです。公式設定手順を実施したつもりでも、この初期設定ステップが抜けるケースが頻繁に報告されています。


解決方法

問題を修正するには、プロジェクトのグローバルCSSファイル(通常は src/index.css)に次の3行を追記します:

css
@tailwind base;
@tailwind components;
@tailwind utilities;

具体的な手順:

  1. プロジェクトのCSSファイルを開く

    bash
    # 例(VSCodeで開く場合)
    code src/index.css
  2. ファイルの先頭に以下を追記:

    css
    @tailwind base;
    @tailwind components;
    @tailwind utilities;
  3. shadcnの初期化コマンドを再実行:

    bash
    npx shadcn@latest init

これで設定ファイルが検出され、正常に処理が完了します。この方法はshadcn公式のGitHubイシューで確認された確実な解決策です。


技術的背景

  • Tailwindディレクティブの役割
    @tailwind 宣言は、Tailwindがベーススタイル・コンポーネント・ユーティリティクラスを生成する起点となります。これが存在しないと、Tailwindが有効化されずshadcnの依存関係エラーを引き起こします。

  • なぜ公式手順で見逃しが起きるのか?
    TailwindのVite公式ガイドではCSSファイルへの追記を明記していますが、Reactプロジェクトの多様性によりファイルパスを見逃すケースが発生します。特に既存プロジェクトへの導入時によく見られます。


追加確認事項

  1. CSSファイルの場所
    index.csssrc/ ディレクトリ以外にある場合、パス調整が必要です。shadcnはデフォルトで src/index.css を参照します。

  2. PostCSS設定の存在確認
    tailwind.config.jspostcss.config.js がプロジェクトルートに生成されていることを確認してください:

    bash
    ls -l tailwind.config.js postcss.config.js
  3. 依存パッケージのバージョン
    下記コマンドで最新バージョンを使用しているか確認:

    bash
    npm list tailwindcss postcss autoprefixer