Перейти к основному содержанию
Header

Устранение неполадок

Если вы столкнулись с какой-либо проблемой при настройке окружения для разработки, обновлении вашего экземпляра или самостоятельном хостинге, вот некоторые решения общих проблем.

Самостоятельный хостинг

Первая установка завершается с ошибкой password authentication failed for user "postgres"

🚨 ВАЖНО: Это решение ТОЛЬКО для новых установок 🚨 Если у вас уже есть экземпляр Twenty с производственными данными, НЕ следуйте этим шагам, так как они безвозвратно удалят вашу базу данных! Во время первой установки Twenty вы можете изменить пароль по умолчанию для базы данных. Пароль, который вы установили во время первой установки, навсегда сохраняется в объеме базы данных. Если вы позже попытаетесь изменить этот пароль в вашей конфигурации без удаления старого объема, возникнут ошибки аутентификации, так как база данных по-прежнему использует исходный пароль. ⚠️ ПРЕДУПРЕЖДЕНИЕ: Следующие шаги ПОЛНОСТЬЮ УДАЛЯТ все данные базы данных! ⚠️ Продолжайте, только если это новая установка без важной информации. Чтобы обновить PG_DATABASE_PASSWORD, вам нужно:
# 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 on Save не работает

Это должно работать из коробки с установленным расширением 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, чтобы отключить фоновые проверки, таким образом уменьшая количество необходимой оперативной памяти. Если это не работает:
Запускайте только те сервисы, которые вам нужны, вместо 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/. Если вы получили код ошибки AADSTS50020, это, вероятно, означает, что вы используете личную учетную запись Microsoft. Это пока не поддерживается. Подробнее здесь.

При запуске yarn появляются предупреждения в консоли

Предупреждения информируют о добавлении дополнительных зависимостей, которые не указаны явно в package.json, поэтому, пока не появляются критичные ошибки, всё должно работать как ожидается.

Когда пользователь получает доступ к странице входа, в логах появляется ошибка о несанкционированном доступе пользователя к рабочему пространству.

Это ожидаемо, так как пользователь не авторизован при выходе из системы, поскольку его личность не проверена.

Как проверить, работает ли ваш воркер?

  • Перейдите на webhook-test.com и скопируйте Ваш уникальный URL вебхука.
Webhook test
  • Откройте приложение Twenty, перейдите в /settings и включите переключатель Advanced внизу слева на экране.
  • Создайте новый вебхук.
  • Вставьте Ваш уникальный URL вебхука в поле Endpoint Url в Twenty. Установите Фильтры на Компании и Создано.
Webhook settings
  • Перейдите в /objects/companies и создайте новую запись компании.
  • Return to webhook-test.com and check if a new POST request has been received.
Webhook test result
  • Если POST запрос получен, ваш воркер успешно работает. В противном случае, вам нужно устранить неполадки вашего воркера.

Фронтэнд не запускается и выдает ошибку TS5042: Опция ‘project’ не может быть использована вместе с исходными файлами на командной строке

Закомментируйте плагин checker в 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. Выполните следующие команды:
    docker exec -it twenty-server-1 yarn
    docker exec -it twenty-server-1 npx nx database:reset  --configuration=no-seed
    
  2. Перезапустите контейнеры Docker:
    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 на другого пользователя и группу.

Получение помощи

Если вы столкнулись с проблемами, не охваченными в этом руководстве:
  • Проверьте логи: Просмотрите логи контейнера на наличие сообщений об ошибках:
    docker compose logs
    
  • Поддержка сообщества: Обратитесь к сообществу Twenty или каналам поддержки за помощью.