@ox_lib/init.lua не найден и ошибки ox_lib: как исправить

Ошибки о @ox_lib/init.lua, No such export in resource ox_lib, или ox_lib не запускается: используйте выпуск, убедитесь в нём первым, добавьте shared_script, включите lua54.

Скрипт, который использует ox_lib, не загружается в вашу консоль и сообщение упоминает @ox_lib/init.lua, или он не работает с:

text
No such export <name> in resource ox_lib

или ox_lib сам никогда не запускается. Все это исходит из одних и тех же причин: неправильная загрузка, неправильное имя папки, неправильный порядок запуска или отсутствующая строка в манифесте. Вот исправление для каждого.

Что такое ox_lib

ox_lib — это общая библиотека, на которую полагаются многие скрипты: обратные вызовы, уведомления, меню, полосы прогресса, локали. Скрипт выбирается одной строкой в его манифесте:

lua
shared_script '@ox_lib/init.lua'

Префикс @ox_lib/ говорит FiveM прочитать файл из ресурса с названием ox_lib, а не из собственной папки скрипта. Поэтому ox_lib должен существовать, иметь именно это имя и быть запущен.

1. Загрузите выпуск, не исходный zip

Это причина, на которую попадает большинство людей. На GitHub зелёная кнопка Code даёт вам zip исходного кода. ox_lib имеет веб-интерфейс (меню, полосы прогресса), который построен из исходных файлов. Исходный zip не содержит встроенные файлы, поэтому ox_lib либо не загружает свой пользовательский интерфейс, либо регистрирует сообщение о том, что пользовательский интерфейс не построен.

Вместо этого:

  1. Откройте репозиторий ox_lib на GitHub, затем Releases.
  2. На последнем выпуске загрузите файл с названием ox_lib.zip в разделе Assets.
  3. Распакуйте. Папка внутри должна быть ox_lib и fxmanifest.lua должен сидеть прямо в ней.
text
resources/[standalone]/ox_lib/fxmanifest.lua

Если у вас есть исходная папка с названием ox_lib-main, удалите её и вместо этого установите выпуск. Смотрите также Could not find dependency для проблем с именами папок.

2. Запустите ox_lib перед скриптами

В server.cfg, ox_lib должен быть перед любым ресурсом, который его импортирует:

cfg
ensure oxmysql
ensure ox_lib
ensure es_extended   # or qb-core / qbx_core

ensure my_script

Если my_script убедил выше ox_lib, он может загрузиться первым и не работать. Его перемещение вниз — это исправление. Смотрите правильный порядок ensure в server.cfg.

Добавьте зависимость и в манифест скрипта, чтобы FiveM её проверил:

lua
dependency 'ox_lib'

3. Добавьте shared script и lua54

Скрипты, которые используют lib. функции, нуждаются в двух строках в fxmanifest.lua. Без импорта lib равен nil в скрипте, и вы получаете ошибки, такие как attempt to index a nil value (global 'lib'):

lua
fx_version 'cerulean'
game 'gta5'

lua54 'yes'

shared_script '@ox_lib/init.lua'

client_scripts { 'client/*.lua' }
server_scripts { 'server/*.lua' }

Порядок имеет значение: shared_script '@ox_lib/init.lua' должно быть указано, чтобы оно загружалось перед файлами скрипта, которые вызывают lib. Поместите его выше client_scripts и server_scripts.

4. No such export in resource ox_lib

text
No such export <name> in resource ox_lib

Это означает, что скрипт вызывает экспорт ox_lib, который не существует на вашем сервере. Есть две причины:

  • Старый ox_lib. Скрипт был написан для новшей версии. Обновитесь до последней выпуска.
  • ox_lib не запустился, поэтому ни один из его экспортов не существует. Посмотрите на консоль, где запускается ox_lib. Если он там напечатал ошибку, исправьте это сначала.

Проверьте, что ox_lib запускается чисто: запустите ensure ox_lib в консоли сервера и прочитайте, что печатается. Здоровый запуск не печатает никакой ошибки и никакой строки отказа.

5. Проверьте артефакт сервера

ox_lib нужна достаточно текущая сборка сервера FiveM. Если ox_lib отказывается запускаться и сообщение упоминает версию сервера, обновите ваши артефакты. Шаги находятся в обновлении артефактов сервера FiveM.

6. Сам скрипт не виноват

Если ox_lib установлен и запущен, но один скрипт всё ещё ломается, подтвердите что:

  • Собственная папка скрипта названа так, как говорит его строка ensure.
  • Вы не скопировали ox_lib в папку скрипта. Должен быть один ресурс ox_lib на верхнем уровне resources (или в папке скобки).
  • Не существует никакой второй копии ox_lib в другой папке категории. Две папки с одним и тем же названием ресурса вызывают непредсказуемое поведение.

Совет: когда вы обновляете ox_lib, сначала удалите старую папку вместо распаковки над ней. Оставшиеся старые файлы могут смешаться с новыми.

Контрольный список

Симптом Решение
@ox_lib/init.lua не работает Установите ox_lib с точным имя папки
Части пользовательского интерфейса ox_lib отсутствуют Используйте ox_lib.zip из Releases, не исходный zip
No such export ... in resource ox_lib Обновите ox_lib; проверьте его запустился без ошибок
lib равен nil в скрипте Добавьте shared_script '@ox_lib/init.lua' в его манифест
Скрипт загружается перед ox_lib ensure ox_lib выше скрипта в server.cfg
Ошибки синтаксиса Lua при загрузке Добавьте lua54 'yes' в манифест

Короткие ответы

Откуда я загружаю ox_lib?

Со страницы Releases репозитория ox_lib, используя файл ox_lib.zip, прикреплённый к последнему выпуску. Не используйте зелёную кнопку Code, Download ZIP, которая не имеет встроенных веб-файлов.

Почему скрипт не работает с @ox_lib/init.lua?

FiveM загружает этот файл из ресурса ox_lib. Если папка отсутствует, названа неправильно или не запускается, путь не может быть разрешён и скрипт не работает.

Нужна ли мне lua54 для ox_lib?

Да. Ресурс, который импортирует @ox_lib/init.lua, должен объявить lua54 'yes' в его манифесте, так как ox_lib сам использует Lua 5.4.

Скрипты без этой проблемы

Mic PhoneСкладной телефон, который раскладывается в планшет и работает и на настоящем телефоне игрока.Смотреть скрипт →Item Creator V2Создавайте используемые предметы с анимациями, пропами, эффектами и не только — без кода.Смотреть скрипт →Quest CreatorВизуальный редактор квестов и диалогов с NPC — узел за узлом прямо в игре.Смотреть скрипт →

Читайте также

FiveMox_libОшибкиНе смогли найти зависимость X для ресурса Y: как исправитьFiveM говорит Could not find dependency ox_lib для ресурса Y? Что зависимость в fxmanifest.lua означает, как установить отсутствующий ресурс, имя папки и порядок запуска.1 октября 2026 г. · 3 мин чтенияЧитать →FiveMLuaОшибкиFiveM json.decode ошибка: nil, пустая строка и исправления невалидного JSONjson.decode падает или возвращает nil в вашем FiveM скрипте? Почему декодирование nil, пустых или отредактированных вручную JSON данных ломается, что делает json.encode с смешанными ключами, и как безопасно использовать pcall.1 октября 2026 г. · 3 мин чтенияЧитать →FiveMОшибкиLuaNo such export X in resource Y: как это исправить в FiveMПолучаете ошибку 'No such export X in resource Y' в FiveM? Причины: ресурс не запущен, неправильное имя папки, несоответствие на стороне клиента или сервера, переименованный экспорт и порядок запуска.1 октября 2026 г. · 4 мин чтенияЧитать →