目錄
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北?,獲得更多內容,留言交流!