Next.js项目部署和快速启动脚本

1,307 阅读2分钟

部署时我是借鉴了这位大佬的文章的 --> 《在Linux阿里云服务器上部署Nextjs项目》

在部署 Next.js 项目到云服务器时,我遇到了一些问题,本文将详细记录我的解决方案。希望能对你们有所帮助!

image.png

  • 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 官方网站下载安装包
  1. 下载 Node.js 20.16.0
curl -O https://nodejs.org/dist/v20.16.0/node-v20.16.0-linux-x64.tar.xz

网络不好的同学,先在本地电脑上科学上网,到nodejs官网下载,下载完再上传到服务器

image.png

(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

最后附上启动脚本,也是费了好些功夫,麻烦点个赞🤗

image.png image.png