You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用pnpm install --shamefully-hoist致Netlify上Nuxt3构建失败求助

Netlify构建Nuxt 3应用时Rollup无法解析"vue"依赖的解决方法

错误详情

12:30:30 PM:   1. Build command from Netlify app                             
12:30:30 PM: ────────────────────────────────────────────────────────────────
12:30:30 PM: ​
12:30:30 PM: $ npm run build
12:30:31 PM: > build
12:30:31 PM: > nuxt build
12:30:31 PM: [log] Nuxi 3.0.0
12:30:31 PM: [log] Nuxt 3.0.0 with Nitro 1.0.0
12:30:31 PM: [info] [nuxt:tailwindcss] Using default Tailwind CSS file from runtime/tailwind.css
12:30:32 PM: [error] [vite]: Rollup failed to resolve import "vue" from "node_modules/.pnpm/nuxt@3.0.0/node_modules/nuxt/dist/app/entry.mjs".
12:30:32 PM: This is most likely unintended because it can break your application at runtime.
12:30:32 PM: If you do want to externalize this module explicitly add it to
12:30:32 PM: `build.rollupOptions.external

问题原因

使用pnpm install --shamefully-hoist替代npm安装依赖,依赖的提升方式不符合Netlify构建环境预期,导致Rollup无法正确定位vue依赖。

解决步骤

  • 项目根目录新建或编辑netlify.toml配置文件,写入以下内容:
[build]
  command = "pnpm run build"
  publish = ".output/public"

[context.production.environment]
  NODE_ENV = "production"

[functions]
  node_bundler = "esbuild"

[dev]
  command = "pnpm run dev"
  • 配置Netlify环境变量:
    1. 进入Netlify项目的「站点设置」→「构建与部署」→「环境」
    2. 添加环境变量NPM_CONFIG_USERCONFIG,值设为.npmrc
  • 项目根目录创建.npmrc文件,添加一行:shamefully-hoist=true
  • 重新触发Netlify构建流程

内容的提问来源于stack exchange,提问作者Etep

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 18:37:56