为什么我的下一个应用程序中的edgeFunctionEntry为空?

问题描述 投票:0回答:1
以下代码中的edgeFunctionEntry.env为空,导致应用程序在生产中崩溃。可能是什么原因?

/** * Create a module cache specific for the provided parameters. It includes * a runtime context, require cache and paths cache. */ async function createModuleContext(options) { const warnedEvals = new Set(); const warnedWasmCodegens = new Set(); const { edgeFunctionEntry } = options; const wasm = await loadWasm(edgeFunctionEntry.wasm ?? []); const runtime = new _edgeruntime.EdgeRuntime({ codeGeneration: process.env.NODE_ENV !== "production" ? { strings: true, wasm: true } : undefined, extend: (context)=>{ context.process = createProcessPolyfill(edgeFunctionEntry.env);
此函数发生崩溃。 /var/app/current/node_modules/next/dist/server/web/sandbox/context.js:101:30

function buildEnvironmentVariablesFrom(injectedEnvironments) { const pairs = Object.keys(process.env).map((key) => [key, process.env[key]]); const env = Object.fromEntries(pairs); for (const key of Object.keys(injectedEnvironments)) { env[key] = injectedEnvironments[key]; } env.NEXT_RUNTIME = "edge"; return env; }
    
node.js next.js
1个回答
0
投票
上周我遇到了这个确切的错误,原因是我正在使用本地应用程序目录中安装的 Next.js 14.2.5 进行构建,但

next

 使用的全局 
pm2
 安装是 14.2.13.

我的修复是确保全局安装的节点版本和项目特定的节点版本匹配,我确信这是最佳实践,无论如何我都应该这样做。

© www.soinside.com 2019 - 2024. All rights reserved.