最近n8n很火,就想在本地部署一個,嘗嘗鮮,看說明n8n是開源軟件,可以在本地部署,于是就嘗試部署了下,大概用了1個多小時,把相關的過程記錄一下:
1、基礎軟件包
abc@Xu-MacBook-m2-Air-deep-space-gray-24 ~ % node --version
v22.14.0
abc@Xu-MacBook-m2-Air-deep-space-gray-24 ~ % pnpm --version
10.9.0
abc@Xu-MacBook-m2-Air-deep-space-gray-24 ~ % git --version
git version 2.39.5 (Apple Git-154)
系統說要用nodejs版本為v18 ,實測 v22 也沒問題
2、macos系統配置
echo 'ulimit -n 65536' >> ~/.zshrc
source ~/.zshrc
要讓系統開啟打開多個文件的設置,否則會報錯?(防止 EMFILE: too many open files 錯誤)
3、安裝依賴,
因為是本地下載好的包,不需要clone,因此在源碼解壓后的根目錄執行命令即可
pnpm install
這個過程需要下很多包,需要一點時間
如果有問題賊刪除了重新安裝
pnpm store prune
rm -rf node_modules pnpm-lock.yaml
pnpm install
我這里有一次出錯了,目錄下沒有node_modules 這個目錄,這種情況下不要問AI原因,直接刪除了重新解壓,重新安裝即可
4、預打包
這時正常的AI都會告訴你執行pnpm dev 就可以運行n8n了,不出意外的話會至少報2個包的錯誤,(如 @n8n/di、n8n-workflow)
這個過程AI也是語焉不詳,并且在正常運行的過程中不會說這塊,所以算是一個坑吧,AI的意思是n8n 是一個 monorepo 項目,pnpm 的工作區(workspace)功能能高效管理多個子包(如 @n8n/di、n8n-workflow)。
說人話就是需要將這些依賴先提前編譯一下
pnpm run -r build
編譯完成再執行 pnpm dev 就可以了
然后就是漫長的等待,還沒有提示,中間我取消了兩次,在執行 pnpm dev 然后就過去了,就這樣。