• Из-за обновления GTA 5 (был добавлен новый патч) может временно не работать вход в RAGE Multiplayer.

    Ошибка: Ваша версия Grand Theft Auto V не поддерживается RAGE Multiplayer.
    ERROR: Your game version is not supported by RAGE Multiplayer.

    Данная ошибка говорит о том, что GTA V обновилась до новой версии (GTA Online тоже). Вам необходимо обновить саму игру в главном меню вашего приложения (Steam / Epic Games / Rockstar Games).
    Если после этого RAGE:MP все равно не работает - вам нужно дождаться выхода патча для самого мультиплеера (обычно это занимает от нескольких часов до нескольких дней).

    Новости и апдейты Rockstar Games - https://www.rockstargames.com/newswire/
    Статус всех служб для Rockstar Games Launcher и поддерживаемых игр: https://support.rockstargames.com/ru/servicestatus


    Grand Theft Auto 5 (+ GTA Online) последний раз были обновлены:

Проблема Не хочет заводится Prisma ORM

hirsizska

Новый участник
29 Июн 2024
1
0
10
Использовал для старта проекта шаблон typescript ragemp-typescript от leonardssh, установил туда Prisma ORM, создал схему, настроил DATABASE_URL, суть не в этом.
При попытке импорта PrismaClient и использования в indexном серверном файле, после билда и запуска сервера происходит ошибка:
1719997468562.png

Вот эти две строки из-за которых происходит ошибка:

JavaScript:
import { PrismaClient } from '@prisma/client'

const prisma = new PrismaClient()
 

Jerry (ChatGPT)

AI-powered language model
VIP
helper
17 Окт 2023
2,257
233
5
Привет! Ошибка, которую вы описали, может возникнуть из-за неправильного импорта PrismaClient. Убедитесь, что вы импортируете PrismaClient правильно. Обычно это выглядит примерно так:
Код:
import { PrismaClient } from '@prisma/client';
Помимо этого, также убедитесь, что файл с присоединением к базе данных корректно сконфигурирован и что Prisma успешно подключается к вашей базе данных.
 

oliwkevich

Участник портала
1 Дек 2020
10
5
67
К сожалению призма не будет работать с Рейджом. Я тоже пробовал и разные версии и разные способы, все мимо. Тогда просто взял Type ORM. Как я понял проблема в том, что Рейдж можеть юзать только коммон импорты, а призме надо модуль импортс. Можешь попробовать файлы сделать через .mjs, но врядли поможет.
 

Harvey Specter

Специалист
BackEnd developer
7 Ноя 2020
243
88
95
К сожалению призма не будет работать с Рейджом. Я тоже пробовал и разные версии и разные способы, все мимо. Тогда просто взял Type ORM. Как я понял проблема в том, что Рейдж можеть юзать только коммон импорты, а призме надо модуль импортс. Можешь попробовать файлы сделать через .mjs, но врядли поможет.
Плохо пробовал. Спокойно заводится и работает.
 

Harvey Specter

Специалист
BackEnd developer
7 Ноя 2020
243
88
95
Вообщем, вижу что ты уже юзаешь тайп скрипт. Чтобы завелась, используй esbuild для компиляции сервера.
По итогу команда для билда должна выглядеть примерно так:
JSON:
"build": "esbuild src/index.ts --bundle --platform=node --target=node10.4 --outfile=../../server/packages/server/index.js",

Ну и соответсвенно использование:

JavaScript:
import { PrismaClient } from '@prisma/client'

export const prisma = new PrismaClient()

Важный момент. Исходники сервера должны иметь сообственный package.json, где type должен быть module.
Ну а соотсветсвенно чтобы запустить сервер, там где у тебя ragemp-server.exe должен быть ещё один package.json где type уже нужно указать дефолтный.

P.S Если будешь пробовать установить сервак на линукс, то могут быть проблемы с тем же openssl или какими нибудь другими зависимости, так как призма под капотом юзает самописный "сервер" на rust который трансформирует твои запросы в SQL.
 
Реакции: laflenory

laflenory

Новый участник
1 Июл 2024
2
1
5
Вообщем, вижу что ты уже юзаешь тайп скрипт. Чтобы завелась, используй esbuild для компиляции сервера.
По итогу команда для билда должна выглядеть примерно так:
JSON:
"build": "esbuild src/index.ts --bundle --platform=node --target=node10.4 --outfile=../../server/packages/server/index.js",

Ну и соответсвенно использование:

JavaScript:
import { PrismaClient } from '@prisma/client'

export const prisma = new PrismaClient()

Важный момент. Исходники сервера должны иметь сообственный package.json, где type должен быть module.
Ну а соотсветсвенно чтобы запустить сервер, там где у тебя ragemp-server.exe должен быть ещё один package.json где type уже нужно указать дефолтный.

P.S Если будешь пробовать установить сервак на линукс, то могут быть проблемы с тем же openssl или какими нибудь другими зависимости, так как призма под капотом юзает самописный "сервер" на rust который трансформирует твои запросы в SQL.
Не знаю, на сколько это правильное решение. В официальной документации гласит:

Код:
Module bundlers bundle JavaScript modules into a single JavaScript file. Most bundlers work by copying over the JavaScript code from a variety of source files into the target file.

Since Prisma Client is not only based on JavaScript code, but also relies on the query engine binary file to be available, you need to make sure that your bundled code has access to the binary file.

Собрать весь проект в один бандл для работы с Prisma будет недостаточно. Если используете webpack или что-то подобное, можете воспользоваться плагинами для копирования статических файлов. В нашем случае необходимо скопировать .prisma/client (автоматически генерируется клиент на основе описанных моделей, а также query_engine-windows.dll.node (зависит от OC, которую Вы используете)). Я в своём примере использовал esbuild с отдельным плагином конфигурации.

Оставляю ссылку на репозиторий.

Не все процессы в данной репе автоматизированы, кое-что придётся поделать ручками.