При запуске приложения команда npm run dev завершается ошибкой:
Error: DATABASE_URL must be set. Did you forget to provision a database?
Приложение требует подключения к базе данных PostgreSQL, но переменная окружения DATABASE_URL не установлена.
Запустите приложение с переменными окружения напрямую:
npx dotenv -v DATABASE_URL=postgresql://postgres:postgres@localhost:5432/telegram_bot_builder -- npm run dev- Создайте файл
.envв корневой директории проекта - Добавьте в него следующие настройки:
# База данных PostgreSQL
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/telegram_bot_builder
PGHOST=localhost
PGPORT=5432
PGDATABASE=telegram_bot_builder
PGUSER=postgres
PGPASSWORD=postgres
# Секретный ключ для сессий
SESSION_SECRET=your-super-secret-session-key-here-change-this-in-production
# Режим работы
NODE_ENV=development- Запустите приложение командой:
npm run devЕсли файл не заблокирован, вы можете использовать встроенный скрипт:
create-env.batЭтот скрипт поможет вам создать файл .env с правильными настройками.
После установки переменных окружения проверьте подключение к базе данных:
npx dotenv -v DATABASE_URL=postgresql://postgres:postgres@localhost:5432/telegram_bot_builder -- npx tsx scripts/init-db.tsnpm run db:pushОткройте в браузере http://localhost:5173/api/health
- Убедитесь, что PostgreSQL запущен на порту 5432
- Проверьте правильность пароля пользователя postgres
- Убедитесь, что база данных telegram_bot_builder существует
Если вы получаете ошибку SSL, попробуйте добавить ?sslmode=disable к URL базы данных:
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/telegram_bot_builder?sslmode=disable
Если у вас возникают проблемы с доступом к файлам .env, убедитесь, что у пользователя есть права на чтение файлов в директории проекта.
- Не храните файл .env в системе контроля версий
- Используйте случайные значения для SESSION_SECRET в production
- Не используйте пароль "postgres" в production среде
- Ограничьте доступ к файлу .env только необходимым пользователям
Если файл .env заблокирован настройками .codeassistantignore, используйте команду с dotenv для запуска приложения:
npx dotenv -v DATABASE_URL=postgresql://postgres:postgres@localhost:5432/telegram_bot_builder -- npm run dev