アップグレード
最新のNuxtバージョンへのアップグレード方法を学びます。
Nuxtのアップグレード
最新リリース
Nuxtを最新リリースにアップグレードするには、nuxt upgrade
コマンドを使用します。
npx nuxt upgrade
ナイトリーリリースチャンネル
リリース前に最新のNuxtビルドを使用し、機能をテストするには、ナイトリーリリースチャンネルガイドを参照してください。
ナイトリーリリースチャンネルのlatest
タグは現在Nuxt v4ブランチを追跡しており、特に今は破壊的変更が発生しやすい状態です — 注意してください!3.x ブランチのナイトリーリリースに参加するには、"nuxt": "npm:nuxt-nightly@3x"
を使用します。
Nuxt 4 のテスト
Nuxt 4 は 2025年第2四半期にリリース予定 です。これには、compatibilityVersion: 4
を通じて現在利用可能な機能がすべて含まれます。
リリースまで、Nuxt バージョン 3.12+ から Nuxt 4 の破壊的変更を多くテストすることが可能です。
Nuxt 4 へのオプトイン
まず、Nuxt を最新のリリースにアップグレードします。
その後、compatibilityVersion
を Nuxt 4 の挙動に合わせて設定できます:
export default defineNuxtConfig({
future: {
compatibilityVersion: 4,
},
// Nuxt v3 の挙動を再有効にするには、以下のオプションを設定します:
// srcDir: '.',
// dir: {
// app: 'app'
// },
// experimental: {
// scanPageMeta: 'after-resolve',
// sharedPrerenderData: false,
// compileTemplate: true,
// resetAsyncDataToUndefined: true,
// templateUtils: true,
// relativeWatchPaths: true,
// normalizeComponentNames: false,
// spaLoadingTemplateLocation: 'within',
// parseErrorData: false,
// pendingWhenIdle: true,
// alwaysRunFetchOnKeyChange: true,
// defaults: {
// useAsyncData: {
// deep: true
// }
// }
// },
// features: {
// inlineStyles: true
// },
// unhead: {
// renderSSRHeadOptions: {
// omitLineBreaks: false
// }
// }
})
今のところ、Nuxt 4 の挙動にオプトインする各レイヤーで互換性バージョンを定義する必要があります。Nuxt 4 リリース後はこれが不要になります。
compatibilityVersion
を 4
に設定すると、Nuxt の設定全体のデフォルトが Nuxt v4 の挙動にオプトインされますが、テスト中に Nuxt v3 の挙動を選択的に再有効化することができます。上述のコメントアウトした行に従ってください。そうすると問題が発生した場合に、それらを Nuxt やエコシステムに報告して対処してもらえます。
破壊的または重大な変更は、後方/前方互換性の移行手順とともにここに記載されます。
このセクションは最終リリースまで変更される可能性があるため、compatibilityVersion: 4
を使用して Nuxt 4 をテストしている場合は、定期的にここを確認してください。
Codemods を使用した移行
アップグレードプロセスを容易にするために、Codemod チームと協力して、いくつかのオープンソースの codemods で多くの移行手順を自動化しました。
問題が発生した場合は、npx codemod feedback
を実行して Codemod チームに報告してください 🙏
Nuxt 4 の codemods の完全なリスト、各 codemod の詳細情報、そのソース、および実行方法については、Codemod Registryをご覧ください。
このガイドで触れられているすべての codemods を次の codemod
レシピを使用して実行できます:
npx codemod@latest nuxt/4/migration-recipe
このコマンドは、すべての codemods を順番に実行します。実行したくないものを選択解除するオプションもあります。各 codemod は以下にリストアップされ、それぞれの変更と共に独立して実行することもできます。
新しいディレクトリ構造
🚦 影響レベル: 重要
Nuxt は新しいディレクトリ構造をデフォルトで採用するようになり、後方互換性も保ちます(たとえば、トップレベルの pages/
ディレクトリを使用している場合、この新しい構造は適用されません)。
何が変わったか
- 新しい Nuxt デフォルトの
srcDir
はデフォルトでapp/
となり、ほとんどのものはそこから解決されるようになります。 serverDir
はデフォルトで<rootDir>/server
になり、<srcDir>/server
ではなくなります。layers/
,modules/
,public/
はデフォル
※このページは Nuxt.js 公式ドキュメントの翻訳ページ(非公式)です。
公式ドキュメントの該当ページはこちら:
https://nuxt.com/docs/3.x/getting-started/upgrade