部署时我是借鉴了这位大佬的文章的 --> 《在Linux阿里云服务器上部署Nextjs项目》
在部署 Next.js 项目到云服务器时,我遇到了一些问题,本文将详细记录我的解决方案。希望能对你们有所帮助!
-
Unsupported Engine Warning:
npm WARN EBADENGINE Unsupported engine { npm WARN EBADENGINE package: 'next@14.2.5', npm WARN EBADENGINE required: { node: '>=18.17.0' }, npm WARN EBADENGINE current: { node: 'v16.20.2', npm: '8.19.4' } npm WARN EBADENGINE }这个警告表明当前的 Node.js 版本(v16.20.2)低于
next@14.2.5版本所需的最低 Node.js 版本(>=18.17.0)。你需要升级 Node.js 版本以兼容该包。 -
Deprecated Packages:
npm WARN deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported npm WARN deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported npm WARN deprecated @humanwhocodes/config-array@0.11.14: Use @eslint/config-array instead这些警告指示了一些依赖的包已经过时,不再受支持或者建议使用其他包。可以在
package.json中更新这些依赖项的版本来解决这些问题。
升级 Node.js 版本
使用yum install nodejs安装通常会从系统的默认软件库中获取包,而这些库中的软件版本可能不是最新的
1. 卸载当前版本
由于当前 Node.js 是通过包管理工具安装的,你可以使用包管理工具来卸载它:
yum remove nodejs
2. 安装新版本 Node.js
你可以选择以下几种方法来安装新版本 Node.js:
从 Node.js 官方网站下载安装包
- 下载 Node.js 20.16.0
curl -O https://nodejs.org/dist/v20.16.0/node-v20.16.0-linux-x64.tar.xz
网络不好的同学,先在本地电脑上科学上网,到nodejs官网下载,下载完再上传到服务器
(1) 解压下载的文件
tar -xf node-v20.16.0-linux-x64.tar.xz
(2) 移动到 /usr/local 目录
sudo mv node-v20.16.0-linux-x64 /usr/local/node
(3) 更新 PATH 环境变量
# 添加 Node.js 到 PATH
export PATH=/usr/local/node/bin:$PATH
# 将 PATH 环境变量添加到 .bashrc 或 .zshrc 文件中
echo 'export PATH=/usr/local/node/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
(4) 验证安装
node -v
npm -v
最后附上启动脚本,也是费了好些功夫,麻烦点个赞🤗