在Ubuntu服务器上引发“npm run build”编译错误

i2loujxw  于 7个月前  发布在  其他
关注(0)|答案(1)|浏览(111)

试图在我的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

piv4azn7

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关闭并重新打开您的终端,或者运行以下命令来应用更改:

source ~/.bashrc

使用nvm安装Node.js 16.x:

nvm install 16

将安装的Node.js版本设置为默认版本:

nvm use 16

验证正确的Node.js版本是否正在用途:

node -v

现在,您应该使用Node.js版本16.x。要确认,您可以运行node -v,它应该显示大于或等于16.6.0的版本。

相关问题