230 lines
15 KiB
Plaintext
230 lines
15 KiB
Plaintext
---
|
|
title: Устранение неполадок
|
|
icon: wrench
|
|
---
|
|
|
|
## Устранение неполадок
|
|
|
|
Если вы столкнулись с какой-либо проблемой при настройке окружения для разработки, обновлении вашего экземпляра или самостоятельном хостинге,
|
|
вот некоторые решения общих проблем.
|
|
|
|
### Самостоятельный хостинг
|
|
|
|
#### Первая установка завершается с ошибкой `password authentication failed for user "postgres"`
|
|
|
|
🚨 **ВАЖНО: Это решение ТОЛЬКО для новых установок** 🚨
|
|
Если у вас уже есть экземпляр Twenty с производственными данными, **НЕ** следуйте этим шагам, так как они безвозвратно удалят вашу базу данных!
|
|
|
|
Во время первой установки Twenty вы можете изменить пароль по умолчанию для базы данных.
|
|
Пароль, который вы установили во время первой установки, навсегда сохраняется в объеме базы данных. Если вы позже попытаетесь изменить этот пароль в вашей конфигурации без удаления старого объема, возникнут ошибки аутентификации, так как база данных по-прежнему использует исходный пароль.
|
|
|
|
⚠️ ПРЕДУПРЕЖДЕНИЕ: Следующие шаги ПОЛНОСТЬЮ УДАЛЯТ все данные базы данных! ⚠️
|
|
Продолжайте, только если это новая установка без важной информации.
|
|
|
|
Чтобы обновить `PG_DATABASE_PASSWORD`, вам нужно:
|
|
|
|
```sh
|
|
# Обновите PG_DATABASE_PASSWORD в .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 on Save не работает
|
|
|
|
Это должно работать из коробки с установленным расширением Oxc (`oxc.oxc-vscode`). Если это не работает, попробуйте добавить это в настройки vscode (на уровне контейнера разработчика):
|
|
|
|
```
|
|
"editor.codeActionsOnSave": {
|
|
|
|
"source.fixAll.oxc": "explicit"
|
|
|
|
}
|
|
```
|
|
|
|
#### При запуске `npx nx start` или `npx nx start twenty-front` возникает ошибка нехватки памяти
|
|
|
|
Запускайте только те сервисы, которые вам нужны, вместо `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 ГБ для heap 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` запускает несколько команд под капотом
|
|
|
|
#### Электронные письма не отправляются
|
|
|
|
В большинстве случаев это происходит из-за того, что `воркер` не работает в фоновом режиме. Попробуйте запустить
|
|
|
|
```
|
|
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`, поэтому, пока не появляются критичные ошибки, всё должно работать как ожидается.
|
|
|
|
#### Когда пользователь получает доступ к странице входа, в логах появляется ошибка о несанкционированном доступе пользователя к рабочему пространству.
|
|
|
|
Это ожидаемо, так как пользователь не авторизован при выходе из системы, поскольку его личность не проверена.
|
|
|
|
#### Как проверить, работает ли ваш воркер?
|
|
|
|
* Перейдите на [webhook-test.com](https://webhook-test.com/) и скопируйте **Ваш уникальный URL вебхука**.
|
|
|
|
<div style={{textAlign: 'center'}}>
|
|
<img src="/images/docs/developers/self-hosting/webhook-test.jpg" alt="Тест вебхука" />
|
|
</div>
|
|
|
|
* Откройте приложение Twenty, перейдите в `/settings` и включите переключатель **Advanced** внизу слева на экране.
|
|
* Создайте новый вебхук.
|
|
* Вставьте **Ваш уникальный URL вебхука** в поле **Endpoint Url** в Twenty. Установите **Фильтры** на `Компании` и `Создано`.
|
|
|
|
<div style={{textAlign: 'center'}}>
|
|
<img src="/images/docs/developers/self-hosting/webhook-settings.jpg" alt="Настройки вебхука" />
|
|
</div>
|
|
|
|
* Перейдите в `/objects/companies` и создайте новую запись компании.
|
|
* Вернитесь на [webhook-test.com](https://webhook-test.com/) и проверьте, был ли получен новый **POST запрос**.
|
|
|
|
<div style={{textAlign: 'center'}}>
|
|
<img src="/images/docs/developers/self-hosting/webhook-test-result.jpg" alt="Результат теста вебхука" />
|
|
</div>
|
|
|
|
* Если **POST запрос** получен, ваш воркер успешно работает. В противном случае, вам нужно устранить неполадки вашего воркера.
|
|
|
|
#### Фронтэнд не запускается и выдает ошибку TS5042: Опция 'project' не может быть использована вместе с исходными файлами на командной строке
|
|
|
|
Закомментируйте плагин checker в `packages/twenty-ui/vite-config.ts`, как показано в примере ниже
|
|
|
|
```
|
|
plugins: [
|
|
react({ jsxImportSource: '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';` в контейнере базы данных, чтобы получить доступ к административной панели.
|
|
|
|
#### При запуске рабочего процесса выполнение завершается ошибкой: "Выполнение логической функции отключено. Установите LOGIC_FUNCTION_TYPE в значение LOCAL или LAMBDA, чтобы их включить.
|
|
|
|
В производственной среде логические функции по умолчанию отключены. Установите переменную окружения `LOGIC_FUNCTION_TYPE` в `LOCAL` или `LAMBDA`, чтобы их включить. Это можно настроить через переменные окружения или через переменные базы данных в панели администратора. См. [руководство по настройке логических функций](/l/ru/developers/self-host/capabilities/setup#logic-functions-available-drivers) для получения подробной информации.
|
|
|
|
### 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:**
|
|
|
|
Убедитесь, что `SERVER_URL` в вашем файле `.env` соответствует вашему внешнему URL-адресу, включая `https`, если SSL включён.
|
|
|
|
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) за помощью.
|