--- title: 疑難排解 image: /images/user-guide/what-is-twenty/20.png --- Header ## 疑難排解 如果您在設置開發環境、升級實例或自托管時遇到任何問題,這裡有一些常見問題的解決方案。 ### 自行託管 #### 首次安裝結果為 `password authentication failed for user "postgres"` 🚨 **重要提示:此解決方案僅適用於新安裝** 🚨 如果您已經有一個包含生產數據的Twenty實例,**請勿**遵循這些步驟,因為它們將永久刪除您的數據庫! 在首次安裝Twenty時,您可能想要更改默認的數據庫密碼。 您在首次安裝時設置的密碼將永久存儲在數據庫卷中。 如果您後來嘗試在配置中更改此密碼而不刪除舊卷,則會遇到身份驗證錯誤,因為數據庫仍在使用原始密碼。 ⚠️ 警告:以下步驟將永久刪除所有數據庫數據! ⚠️ 只有在這是一個沒有重要數據的新安裝的情況下才進行。 要更新 `PG_DATABASE_PASSWORD`,您需要: ```sh # Update the PG_DATABASE_PASSWORD in .env docker compose down --volumes docker compose up -d ``` #### 發現CR換行符 [Windows] 這是由於Windows的換行符和git配置導致的。 嘗試運行: 嘗試運行: ``` git config --global core.autocrlf false ``` 然後刪除倉庫並再次克隆它。 #### 缺少元數據架構 在Twenty安裝期間,您需要用正確的架構、擴展和用戶來準備您的postgres數據庫。 如果您成功運行了這個配置,您應該在數據庫中擁有 `default` 和 `metadata` 架構。 如果沒有,請確保電腦上沒有運行多個postgres實例。 #### 無法找到模組 'twenty-emails' 或其相應的類型聲明。 您需要先構建 `twenty-emails` 包,然後再用 `npx nx run twenty-emails:build` 初始化數據庫。 #### 缺少 twenty-x 包 確保在根目錄運行 yarn,然後運行 `npx nx server:dev twenty-server`。 如果還是無法運行,請嘗試手動構建缺失的包。 如果還是無法運行,請嘗試手動構建缺失的包。 #### 保存時的 Lint 不工作 這應該在安裝了eslint擴展的情況下開箱即用。 這應該在安裝了eslint擴展的情況下開箱即用。 如果這不起作用,請嘗試將此添加到您的vscode設置(在開發容器範圍上): ``` "editor.codeActionsOnSave": { "source.fixAll.eslint": "explicit" } ``` #### 運行 `npx nx start` 或 `npx nx start twenty-front` 時,內存不足錯誤被拋出 在 `packages/twenty-front/.env` 中取消註釋 `VITE_DISABLE_TYPESCRIPT_CHECKER=true` 和 `VITE_DISABLE_ESLINT_CHECKER=true` 以禁用後台檢查,從而減少所需的RAM量。 **如果不工作:** 僅運行您需要的服務,而不是 `npx nx start`。 例如,如果您在服務器上工作,僅運行 `npx nx worker twenty-server` 例如,如果您在服務器上工作,僅運行 `npx nx worker twenty-server` **如果不工作:** 如果您嘗試僅在 WSL 上運行 `npx nx run twenty-server:start`,但失敗並顯示以下內存錯誤: `重大錯誤:在堆限制附近無效的標記緊湊分配失敗 - JavaScript 堆內存不足` 解決方法是在終端執行以下命令,或將其添加到 .bashrc 配置檔中以自動設置: `export NODE_OPTIONS="--max-old-space-size=8192"` \--max-old-space-size=8192 標誌為 Node.js 堆設置了一個上限8GB,使用需求隨應用程序需求而定。 參考資料:https://stackoverflow.com/questions/56982005/where-do-i-set-node-options-max-old-space-size-2048 參考資料:https://stackoverflow.com/questions/56982005/where-do-i-set-node-options-max-old-space-size-2048 **如果不工作:** 調查哪些進程佔用了您大部分的機器RAM。 在Twenty,我們注意到一些VScode擴展佔用了很多RAM,因此我們暫時禁用了它們。 **如果不工作:** 重啟您的機器有助於清理幽靈進程。 #### 運行 `npx nx start` 時日誌中存在奇怪的 [0] 和 [1] 這是預期的,因為命令 `npx nx start` 在底層運行了更多命令 #### 電子郵件未發送 大多數情況下,這是因為 `worker` 沒有在後台運行。 嘗試運行 ``` npx nx worker twenty-server ``` #### 無法連接我的 Microsoft 365 帳戶 大多數情況下,這是因為您的管理員未為您的帳戶啟用 Microsoft 365 許可證。 檢查 [https://admin.microsoft.com/](https://admin.microsoft.com/Adminportal/Home)。 檢查 [https://admin.microsoft.com/](https://admin.microsoft.com/Adminportal/Home)。 如果出現錯誤碼 `AADSTS50020`,這可能意味著您正在使用個人Microsoft帳戶。 這尚不支持。 如果出現錯誤碼 `AADSTS50020`,這可能意味著您正在使用個人Microsoft帳戶。 這尚不支持。 查看更多信息 [這裡](https://learn.microsoft.com/fr-fr/troubleshoot/entra/entra-id/app-integration/error-code-aadsts50020-user-account-identity-provider-does-not-exist) #### 運行 `yarn` 時控制台中出現警告 警告提示會告知拉取一些未在 `package.json` 中明確聲明的附加依賴項,只要沒有出現嚴重錯誤,一切應該按預期運行。 #### 當用戶訪問登錄頁面時,日誌中出現未授權用戶嘗試訪問工作區的錯誤 這是預期的,因為用戶在登出時未被授權,因為其身份未經驗證。 #### 如何檢查您的 `worker` 是否正在運行? - 轉到 [webhook-test.com](https://webhook-test.com/) 並複製 **您的唯一Webhook URL**。
Webhook test
- Open your Twenty app, navigate to `/settings`, and enable the **Advanced** toggle at the bottom left of the screen. - Create a new webhook. - Paste **Your Unique Webhook URL** in the **Endpoint Url** field in Twenty. 將 **Filters** 設置為 `Companies` 和 `Created`。
Webhook settings
- Go to `/objects/companies` and create a new company record. - Return to [webhook-test.com](https://webhook-test.com/) and check if a new **POST request** has been received.
Webhook test result
- If a **POST request** is received, your worker is running successfully. 否則,您需要對您的 `worker` 進行疑難排解。 #### 前端啟動失敗,返回錯誤 TS5042:選項 'project' 不能與命令行上的源文件混合使用 註釋掉 `packages/twenty-ui/vite-config.ts` 中的檢查器插件,參考下面的示例 ``` plugins: [ react({ jsxImportSource: '@emotion/react' }), tsconfigPaths(), svgr(), dts(dtsConfig), // checker(checkersConfig), wyw({ include: [ '**/OverflowingTextWithTooltip.tsx', '**/Chip.tsx', '**/Tag.tsx', '**/Avatar.tsx', '**/AvatarChip.tsx', ], babelOptions: { presets: ['@babel/preset-typescript', '@babel/preset-react'], }, }), ], ``` #### 管理面板不可訪問 在數據庫容器中運行 `UPDATE core."user" SET "canAccessFullAdminPanel" = TRUE WHERE email = 'you@yourdomain.com';` 獲取管理面板訪問權限。 ### 1-click Docker compose #### 無法登錄 如果您在設置後無法登錄: 1. 運行以下命令: ```bash docker exec -it twenty-server-1 yarn docker exec -it twenty-server-1 npx nx database:reset --configuration=no-seed ``` 2. 重新啟動Docker容器: ```bash docker compose down docker compose up -d ``` 請注意,database:reset 命令將完全擦除您的數據庫並從頭重建。 #### 反向代理後的連接問題 如果您在反向代理後運行Twenty並遇到連接問題: 1. **驗證 SERVER_URL:** 確保 `.env` 文件中的 `SERVER_URL` 與您的外部訪問網址匹配,如果啟用了SSL,請包括 `https`。 2. **檢查反向代理設置:** - 確認您的反向代理正確轉發了對Twenty服務器的請求。 - 確保標頭如 `X-Forwarded-For` 和 `X-Forwarded-Proto` 已正確設置。 3. **重啟服務:** 進行更改後,重新啟動反向代理和Twenty容器。 #### 上傳圖像時發生錯誤 - 權限被拒絕 將主機上數據文件夾的所有權從root切換到其他用戶和組解決了這個問題。 ## 獲取幫助 如果您遇到本指南未涵蓋的問題: - 檢查日誌: 查看容器日誌以獲取錯誤信息: ```bash docker compose logs ``` - 社區支持: 聯繫 [Twenty社區](https://github.com/twentyhq/twenty/issues) 或 [支持渠道](https://discord.gg/cx5n4Jzs57) 獲取幫助。