Created by Github action --------- Co-authored-by: Crowdin Bot <support+bot@crowdin.com> Co-authored-by: github-actions <github-actions@twenty.com>
226 lines
13 KiB
Plaintext
226 lines
13 KiB
Plaintext
---
|
||
title: Усунення несправностей
|
||
image: /images/user-guide/what-is-twenty/20.png
|
||
---
|
||
|
||
<Frame>
|
||
<img src="/images/user-guide/what-is-twenty/20.png" alt="Header" />
|
||
</Frame>
|
||
|
||
## Усунення несправностей
|
||
|
||
Якщо ви зіткнетеся з будь-якою проблемою під час налаштування середовища для розробки, оновлення вашого екземпляра або самостійного розгортання, ось деякі рішення для поширених проблем.
|
||
|
||
### Розміщення на власному сервері
|
||
|
||
#### Перше встановлення призводить до помилки `password authentication failed for user "postgres"`
|
||
|
||
🚨 **ВАЖЛИВО: це рішення стосується ТІЛЬКИ нових установок** 🚨
|
||
Якщо у вас є наявний екземпляр Twenty з виробничими даними, **НЕ** дотримуйтесь цих кроків, оскільки вони постійно видалять вашу базу даних!
|
||
|
||
Під час першого встановлення Twenty ви, можливо, захочете змінити пароль бази даних за замовчуванням.
|
||
Пароль, який ви встановили під час першого встановлення, зберігається в об'ємі бази даних постійно. Якщо ви згодом спробуєте змінити цей пароль у вашій конфігурації без видалення старого об'єму, ви отримаєте помилки аутентифікації, оскільки база даних все ще використовує початковий пароль.
|
||
|
||
⚠️ WARNING: Following steps will PERMANENTLY DELETE all database data! ⚠️
|
||
Only proceed if this is a fresh installation with no important data.
|
||
|
||
Щоб оновити `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
|
||
```
|
||
|
||
Then delete the repository and clone it again.
|
||
|
||
#### Відсутня схема метаданих
|
||
|
||
Під час встановлення 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 on Save не працює
|
||
|
||
This should work out of the box with the eslint extension installed. Якщо це не працює, спробуйте додати це до налаштувань vscode (в обсязі контейнера розробки):
|
||
|
||
```
|
||
"editor.codeActionsOnSave": {
|
||
|
||
"source.fixAll.eslint": "explicit"
|
||
|
||
}
|
||
```
|
||
|
||
#### While running `npx nx start` or `npx nx start twenty-front`, Out of memory error is thrown
|
||
|
||
У `packages/twenty-front/.env` розкоментуйте `VITE_DISABLE_TYPESCRIPT_CHECKER=true` і `VITE_DISABLE_ESLINT_CHECKER=true`, щоб вимкнути фонові перевірки, тим самим зменшуючи потрібну кількість ОП.
|
||
|
||
**Якщо це не працює:**
|
||
Запускайте тільки потрібні вам сервіси, замість `npx nx start`. Якщо ви працюєте на сервері, запустіть тільки `npx nx worker twenty-server`
|
||
|
||
**Якщо це не працює:**
|
||
Якщо ви спробували запустити тільки `npx nx run twenty-server:start` на WSL і це завершилось з помилкою нестачі пам'яті:
|
||
|
||
`FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory`
|
||
|
||
Обхід, це виконати нижче в терміналі або додати його в .bashrc профіль для автоматичного налаштування:
|
||
|
||
`export NODE_OPTIONS="--max-old-space-size=8192"`
|
||
|
||
Прапорець --max-old-space-size=8192 встановлює верхній ліміт на 8 ГБ для хіпу Node.js; використання масштабується з вимогами програми.
|
||
Довідка: https://stackoverflow.com/questions/56982005/where-do-i-set-node-options-max-old-space-size-2048
|
||
|
||
**Якщо це не працює:**
|
||
Облік, які процеси займають більшість вашої ОП комп'ютера. У Twenty ми помітили, що деякі розширення VScode займають багато ОП, тому ми тимчасово вимикаємо їх.
|
||
|
||
**Якщо це не працює:**
|
||
Перезапуск вашого комп'ютера допомагає очистити фантомні процеси.
|
||
|
||
#### Під час виконання `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).
|
||
|
||
Якщо у вас є код помилки `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/) і скопіюйте **Ваш унікальний URL вебхука**.
|
||
|
||
<div style={{textAlign: 'center'}}>
|
||
<img src="/images/docs/developers/self-hosting/webhook-test.jpg" alt="Webhook test" />
|
||
</div>
|
||
- Відкрийте застосунок Twenty, перейдіть до `/settings` і ввімкніть перемикач **Розширені** внизу зліва екрана.
|
||
- Створіть новий вебхук.
|
||
- Вставте **Ваш унікальний URL вебхука** в поле **Endpoint Url** в Twenty. Встановіть **Фільтри** на `Companies` і `Created`.
|
||
<div style={{textAlign: 'center'}}>
|
||
<img src="/images/docs/developers/self-hosting/webhook-settings.jpg" alt="Webhook settings" />
|
||
</div>
|
||
- Перейдіть до `/objects/companies` і створіть новий запис компанії.
|
||
- Return to [webhook-test.com](https://webhook-test.com/) and check if a new **POST request** has been received.
|
||
<div style={{textAlign: 'center'}}>
|
||
<img src="/images/docs/developers/self-hosting/webhook-test-result.jpg" alt="Webhook test result" />
|
||
</div>
|
||
- Якщо **POST запит** отримано, ваш worker працює успішно. Інакше, вам потрібно усунути несправності вашого worker.
|
||
|
||
#### Front-end не запускається та повертає помилку 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'],
|
||
},
|
||
}),
|
||
],
|
||
```
|
||
|
||
#### Адміністративна панель недоступна
|
||
|
||
Run `UPDATE core."user" SET "canAccessFullAdminPanel" = TRUE WHERE email = 'you@yourdomain.com';` in database container to get access to admin panel.
|
||
|
||
### 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 повністю знищить вашу базу даних і відтворить її з нуля.
|
||
|
||
#### Connection Issues Behind a Reverse Proxy
|
||
|
||
Якщо ви запускаєте Twenty за зворотним проксі-сервером та стикаєтеся з проблемами підключення:
|
||
|
||
1. **Перевірте SERVER_URL:**
|
||
|
||
Переконайтеся, що `SERVER_URL` у вашому файлі `.env` відповідає вашому зовнішньому URL доступу, включаючи `https`, якщо SSL увімкнено.
|
||
|
||
2. **Check Reverse Proxy Settings:**
|
||
|
||
- Переконайтеся, що ваш зворотній проксі сервер правильно перенаправляє запити до сервера 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) для допомоги. |