Help us understand the problem. What is going on with this article?

Nuxt 2.8.0 で nuxt generate に失敗する

More than 1 year has passed since last update.

前提

Gitlab PagesにNuxt.jsで生成した静的ページをホスティングしているのですが、
Nuxt.jsのバージョンを上げたところ、nuxt generate の実行に失敗するようになりました。

環境

  • node.js 10.15.3
  • yarn 1.16.0
  • nuxt.js 2.1.0 -> 2.8.0

現象

% yarn run generate
yarn run v1.16.0
$ nuxt generate
ℹ Preparing project for development
ℹ Initial build may take a while
✔ Builder initialized
✔ Nuxt files generated

✔ Client
  Compiled successfully in 6.76s

✔ Server
  Compiled successfully in 5.56s

ℹ Waiting for file changes

 FATAL  ENOENT: no such file or directory, stat '/home/epaew/workspace/nuxt_app/.nuxt/dist/client'




   ╭─────────────────────────────────────────────────────────────╮
   │                                                             │
   │   ✖ Nuxt Fatal Error                                       │
   │                                                             │
   │   Error: ENOENT: no such file or directory, stat            │
   │   '/home/epaew/workspace/nuxt_app/.nuxt/dist/client'        │
   │                                                             │
   ╰─────────────────────────────────────────────────────────────╯

error Command failed with exit code 1.

解決策

GitHub に issue が上がっていました
https://github.com/nuxt/nuxt.js/issues/5840#issuecomment-497521402

Solution: You are mixing cjs with es syntax for nuxt.config. Simply using export default fixes issue.

nuxt.config.js を以下の通り修正

-module.exports = {
+export default {

古い Nuxt で create-nuxt-app した場合、 nuxt.config.js あたりに CommonJS の記法が残ってしまっているみたいです。

epaew_dev
SIer所属のWebアプリケーションデベロッパー。 Corneキーボードを愛用しています。 よく使う言語はRuby/TypeScript/YAMLなど。 スクラム開発、クリーンアーキテクチャなどに興味があります。
https://www.epaew.net/
timedia
創業20周年の技術者集団。 確かな技術力・豊富な実績をもとに、多種多様な案件を手掛けるシステム会社のパイオニア
https://www.timedia.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away