目录
1. 先启动API
2. 启动worker服务
3. 启动web
4. 访问登陆地址
在前面的文章中,Dify源码部署,搭建二次开发环境(一)
已经记录了如何在本地启动API、work、中间件。在本篇文章中,将概述如何启动dify web源码项目。关于如何源码启动API、work、中间件的步骤,请自行查看 :Dify源码部署,搭建二次开发环境(一)
1. 先启动API
cd dify\api,执行命令
dify\api>flask run --host 0.0.0.0 --port=5001 --debug
显示如下日志,表示启动成功:
* Running on all addresses (0.0.0.0)
* Running on http://127.0.0.1:5001
* Running on http://192.168.1.162:5001
2. 启动worker服务
cd dify\api,执行命令
uv run celery -A app.celery worker -P solo --without-gossip --without-mingle -Q dataset,generation,mail,ops_trace --loglevel INFO
3. 启动web
检查依赖的基础环境:
{
"name": "dify-web",
"version": "1.4.2",
"private": true,
"engines": {
"node": ">=v22.11.0"
}
结合`package.json` 文件的内容,构建web项目的要求相关信息如下:
(1)直接使用 npm install 安装依赖 文件中包含 preinstall 脚本: "preinstall": "npx only-allow pnpm" ,
因此需要使用 pnpm ,如果尝试使用 npm install,将会失败。
(2)Node.js 版本要求 文件中明确指定了 Node.js 版本要求: "node": ">=v22.11.0" ,即需要使用 Node.js 22.11.0 或更高版本。
(3)npm 版本项目没有明确指定 npm 的版本要求。由于 Node.js 通常会捆绑特定版本的 npm,只要使用符合要求的 Node.js 版本 (>=22.11.0),其附带的 npm 版本基本可以满足需求。
表明构建该项目,使用的node版本需要 >=22.11
检查服务器node版本:
node -v
v22.13.1
安装依赖:
cd web
pnpm install --registry=https://registry.npmmirror.com
执行结果:
Lockfile is up to date, resolution step is skipped
Already up to date
╭──────────────────────────────────────────╮
│ │
│ Update available! 10.12.4 → 10.14.0. │
│ Changelog: https://pnpm.io/v/10.14.0 │
│ To update, run: pnpm add -g pnpm │
│ │
╰──────────────────────────────────────────╯
╭ Warning ───────────────────────────────────────────────────────────────────────────────────╮
│ │
│ Ignored build scripts: @parcel/watcher, canvas, core-js-pure, esbuild, sharp. │
│ Run "pnpm approve-builds" to pick which dependencies should be allowed to run scripts. │
│ │
╰────────────────────────────────────────────────────────────────────────────────────────────╯
> dify-web@1.4.2 prepare D:\1.4.2\dify\web
> cd ../ && node -e "if (process.env.NODE_ENV !== 'production'){process.exit(1)} " || husky ./web/.husky
Done in 11.2s using pnpm v10.12.4
结果分析:
根据上述执行日志,**pnpm install** 命令已经**成功执行**。以下是详细分析:
1. **成功标志**:
- 命令最后显示 `Done in 11.2s using pnpm v10.12.4`,明确表示安装过程完成。
- 中间提示 `Lockfile is up to date, resolution step is skipped` 和 `Already up to date` 表明依赖已安装且为最新版本,无需额外更新。
2. **其他信息**(非错误):
- **pnpm 版本更新提示**:显示有新版本 `10.14.0` 可用,但这只是建议升级,不影响当前安装。
- **构建脚本警告**:提示忽略了部分依赖的构建脚本(如 `@parcel/watcher`、`canvas` 等),这是安全机制。若需要允许这些脚本运行,可执行 `pnpm approve-builds`。
- **prepare 脚本执行**:项目的 `prepare` 脚本正常执行,用于设置 Husky( Git 钩子工具)。
总体而言,依赖安装过程顺利完成,没有遇到错误。
构建项目(git bash)
cd dify/web ,执行
pnpm build
启动项目(git bash)
cd dify/web ,执行
pnpm start
-- 执行日志
cp -r .next/static .next/standalone/.next/static && cp -r public .next/standalone/public && cross-env PORT=$npm_config_port HOSTNAME=$npm_config_host node .next/standalone/server.js
鈻▒ Next.js 15.2.3
- Local: http://localhost:3000
- Network: http://0.0.0.0:3000
鉁▒ Starting...
鉁▒ Ready in 1017ms
4. 访问登陆地址
欢迎WX搜索 南and北 ,获得更多内容,留言交流!