试图在我的Ubuntu服务器上构建我的项目,似乎编译器运行的JS版本与我的机器可以读取的版本略有不同。(它在IONOS的VPS上,运行Ubuntu Jammy)
- 克隆存储库:好
- 安装所有依赖项:好
- 正在更新所有必需文件(.env.local,...):好
- 使用“npm run build”构建应用程序:创建错误:
/repos/template_next-app/node_modules/next/dist/cli/next-dev.js:257
showAll: args["--show-all"] ?? false,
^
SyntaxError: Unexpected token '?'
at wrapSafe (internal/modules/cjs/loader.js:915:16)
at Module._compile (internal/modules/cjs/loader.js:963:27)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
at Module.load (internal/modules/cjs/loader.js:863:32)
at Function.Module._load (internal/modules/cjs/loader.js:708:14)
at Module.require (internal/modules/cjs/loader.js:887:19)
at require (internal/modules/cjs/helpers.js:74:18)
at Object.dev (/home/samuel/repos/template_next-app/node_modules/next/dist/lib/commands.js:15:30)
at Object.<anonymous> (/home/samuel/repos/template_next-app/node_modules/next/dist/bin/next:150:28)
at Module._compile (internal/modules/cjs/loader.js:999:30)
它似乎不能读取一些JS比较器,如“?所以我试着把它们换成“||“这解决了一些问题。
然而,我一直在遇到一些其他的问题:之后“??",这是一个未检测到的依赖项(另一个文件中的const { fetch } = require("next/dist/compiled/undici");
行也导致了编译错误...
无论如何,我想也许你们中的一些人遇到过类似的问题,希望你们能解决这个问题?
那就太好了!:D个
我希望必须升级一些东西,使其理解来自nextJS的编译器。我在这方面的知识非常少,我愿意接受任何关于做什么和如何做的建议。
完美的目标是:
- 安装该
- 运行此
- npm run buil:构建完成!
在我安装的机器上:
节点版本v14.21.3(2023年6月8日编辑)
NPM版本8.5.1
让我知道如果你需要帮助我的话:D
1条答案
按热度按时间piv4azn71#
这里是什么解决它:要解决此问题,您需要将Ubuntu 22.04服务器上的Node.js版本升级到至少16.6.0或更高版本。你可以这样做:删除现有版本的Node.js和npm(如果有的话):bash sudo apt remove nodejs npm Install Node Version Manager(nvm)用于管理Node.js版本:bash curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh| bash关闭并重新打开您的终端,或者运行以下命令来应用更改:
使用nvm安装Node.js 16.x:
将安装的Node.js版本设置为默认版本:
验证正确的Node.js版本是否正在用途:
现在,您应该使用Node.js版本16.x。要确认,您可以运行node -v,它应该显示大于或等于16.6.0的版本。