Troubleshooting
Font loading issues
Google Fonts not accessible in certain network environments
The @nuxt/fonts module fetches font metadata from fonts.google.com by default. In a network environment where Google is not accessible, the following warning appears when the dev server starts:
Could not fetch from https://fonts.google.com/metadata/fonts. Will retry in 1000ms. 3 retries left.
Fix: switch the font provider to bunny (a privacy-friendly, Google Fonts–compatible alternative):
export default defineNuxtConfig({
fonts: {
families: [
{ name: 'Public Sans', global: true, provider: 'bunny' }
]
}
})
pnpm and .npmrc configuration issues
shamefully-hoist removed
Starting from v1.10.0, the project no longer includes the shamefully-hoist=true setting in .npmrc.
shamefully-hoist hoists all dependencies to the root of node_modules, breaking pnpm's strict dependency isolation. This can lead to accidental access to undeclared dependencies, version conflicts, and unstable builds.Delete .npmrc
Delete the .npmrc file in your project (if it exists).
Reinstall dependencies
pnpm install
Add any missing dependencies
If you encounter "dependency not found" errors, add the missing packages to the dependencies field in package.json.
Tailwind CSS as a peer dependency
Tailwind CSS has been moved from a direct dependency to peerDependencies, so theme users need to install it manually:
pnpm add -D tailwindcss
Styling customization issues
Custom CSS configuration
Starting from v1.10.0, . If you need custom styles:app/assets/css/main.css is no longer required
You need to install @nuxt/ui first:
pnpm add @nuxt/ui
Then configure it in nuxt.config.ts:
export default defineNuxtConfig({
modules: ['@nuxt/ui'],
ui: {
// Custom theme configuration
}
})
Add global styles in app/assets/css/main.css and reference it in nuxt.config.ts:
export default defineNuxtConfig({
css: ['~/assets/css/main.css']
})
Dependency installation issues
Peer dependencies warning
WARN Issues with peer dependencies found
├─┬ @movk/nuxt-docs
│ └── ✕ missing peer tailwindcss@4.x
pnpm add -D tailwindcss@^4.1.0
Build script approval
Starting from pnpm v10, dependency lifecycle scripts (such as postinstall) are not run by default. This project requires approval for the following dependencies that include native modules:
| Package | Purpose | Required |
|---|---|---|
better-sqlite3 | SQLite database (used by the MCP server) | Yes |
sharp | Image processing (used by @nuxt/image) | Yes |
pnpm approve-builds
Select the packages listed above from the list to approve them.
Add the following to pnpm-workspace.yaml in the project root:
onlyBuiltDependencies:
- better-sqlite3
- sharp
Add the following to package.json:
{
"pnpm": {
"onlyBuiltDependencies": [
"better-sqlite3",
"sharp"
]
}
}
Nitro prerendering issues
unist-util-visit package not found
Cannot find package 'unist-util-visit' imported from .../prerender/chunks/nitro/nitro.mjs
Did you mean to import "unist-util-visit/index.js"?
@nuxt/content dynamically imports unist-util-visit via import("unist-util-visit") when Nitro prerenders /llms-full.txt. pnpm's strict dependency isolation means the Nitro output directory (docs/node_modules/.cache/) cannot resolve a package that only exists in the layer's dependency chain.Explicitly declare the missing runtime dependencies in the consumer project's package.json:
{
"dependencies": {
"unist-util-visit": "^5.1.0",
"@nuxtjs/mdc": "^0.20.1"
}
}
Use .npmrc to hoist specific packages to the root:
public-hoist-pattern[]=unist-util-visit
public-hoist-pattern[]=@nuxtjs/mdc
After adding it, run pnpm install for the configuration to take effect.
Vercel deployment issues
Output Directory not found
Error: No Output Directory named "dist" found after the Build completed.
This error is usually not an output directory configuration problem. When Nuxt builds with the vercel preset, Nitro automatically generates the .vercel/output/ directory (in the Vercel Build Output API format), which Vercel recognizes automatically, so there is no need to configure outputDirectory manually.
.vercel/output/ incomplete, so Vercel falls back to looking for the default dist directory.You can confirm whether it is an OOM by looking at the end of the Vercel build log:
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
Or:
At least one "Out of Memory" ("OOM") event was detected during the build.
buildCommand in vercel.json:{
"buildCommand": "NODE_OPTIONS='--max-old-space-size=7168' pnpm run build",
"framework": null,
"installCommand": "pnpm install --frozen-lockfile"
}
--max-old-space-size=7168 (7 GB) provides ample memory for the Nitro build and prerendering.If you still hit OOM after increasing memory, consider:
- Upgrading to the Vercel Pro plan for a larger build container
- Reducing the number of prerendered routes
Internationalization
Movk Nuxt Docs ships built-in multilingual support powered by @nuxtjs/i18n with an opt-in design. Without configuration it runs single-language; once configured it enables localized routing, per-locale content collections, a language switcher, and multilingual SEO.
Configure your documentation site
A complete reference for customizing SEO metadata, header navigation, footer credits, sidebar navigation filtering, and the AI Chat interface via app.config.ts, as well as configuring module-level options such as GitHub integration, component metadata generation, Mermaid diagrams, and accessibility via nuxt.config.ts.