@ox_lib/init.lua nicht gefunden und ox_lib Fehler: wie man es behebt

Fehler über @ox_lib/init.lua, No such export in resource ox_lib oder ox_lib wird nicht gestartet: Verwende die Release-Build, stelle sicher zuerst, füge shared_script hinzu, aktiviere lua54.

Ein Skript, das ox_lib verwendet, schlägt fehl zu laden in deiner Konsole und die Nachricht erwähnt @ox_lib/init.lua, oder es schlägt fehl mit:

text
No such export <name> in resource ox_lib

oder ox_lib selbst startet nie. Alle diese kommen von den gleichen wenigen Ursachen: der falsche Download, der falsche Ordnername, die falsche Start-Reihenfolge oder eine fehlende Zeile im Manifest. Hier ist die Behebung für jeden.

Was ox_lib ist

ox_lib ist eine gemeinsame Bibliothek, auf die sich viele Skripte verlassen: Callbacks, Benachrichtigungen, Menüs, Fortschrittsbalken, Locales. Ein Skript meldet sich mit einer Zeile im Manifest an:

lua
shared_script '@ox_lib/init.lua'

Das @ox_lib/-Präfix sagt FiveM, die Datei aus der Ressource namens ox_lib zu lesen, nicht aus dem Ordner des Skripts selbst. Also muss ox_lib existieren, genau diesen Namen haben und gestartet werden.

1. Lade die Release herunter, nicht die Quelle zip

Dies ist die Ursache, auf die die meisten Menschen stoßen. Auf GitHub gibt dir der grüne Code-Button eine zip der Quelle. ox_lib hat eine Web-Schnittstelle (Menüs, Fortschrittsbalken), die aus Quellen-Dateien erstellt wird. Die Quelle zip enthält nicht die erstellten Dateien, also ox_lib schlägt entweder fehl, die UI zu laden, oder protokolliert eine Nachricht über die UI, die nicht erstellt wird.

Stattdessen:

  1. Öffne das ox_lib-Repository auf GitHub, dann Releases.
  2. Auf der neuesten Version, lade die Datei namens ox_lib.zip unter Assets herunter.
  3. Entzippe es. Der Ordner darin muss ox_lib sein und fxmanifest.lua muss direkt darin sitzen.
text
resources/[standalone]/ox_lib/fxmanifest.lua

Wenn du einen Quellen-Ordner namens ox_lib-main hast, entferne ihn und installiere stattdessen die Release. Siehe auch Could not find dependency für Ordner-Name-Probleme.

2. Starte ox_lib vor den Skripten

In server.cfg muss ox_lib vor jeder Ressource kommen, die es importiert:

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

ensure my_script

Wenn my_script über ox_lib gestellt wird, kann es zuerst laden und fehlschlagen. Das Verschieben ist die Behebung. Siehe the right ensure order in server.cfg.

Füge auch die Abhängigkeit im Manifest des Skripts hinzu, damit FiveM sie prüft:

lua
dependency 'ox_lib'

3. Füge shared_script und lua54 hinzu

Skripte, die lib.-Funktionen verwenden, brauchen zwei Zeilen in fxmanifest.lua. Ohne den Import ist lib nil im Skript, und du bekommst Fehler wie 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' }

Die Reihenfolge ist wichtig: shared_script '@ox_lib/init.lua' muss aufgelistet sein, damit sie vor den Skript-Dateien lädt, die lib aufrufen. Lege sie über client_scripts und server_scripts.

4. Keine solche Export-Funktion in Ressource ox_lib

text
No such export <name> in resource ox_lib

Das bedeutet, das Skript ruft einen ox_lib-Export auf, der nicht auf deinem Server existiert. Es gibt zwei Ursachen:

  • Ein altes ox_lib. Das Skript wurde für eine neuere Version geschrieben. Aktualisiere zur neuesten Release-Build.
  • ox_lib schlägt fehl zu starten, also keine seiner Export-Funktionen existieren. Schaue auf die Konsole, wo ox_lib startet. Wenn es dort einen Fehler druckte, behebe das zuerst.

Prüfe, dass ox_lib sauber startet: Führe ensure ox_lib in der Server-Konsole aus und lese, was druckt. Ein gesundes Start druckt keinen Fehler und keine Fehler-Zeile.

5. Prüfe das Server-Artifact

ox_lib braucht eine einigermaßen aktuelle FiveM Server-Build. Wenn ox_lib sich weigert zu starten und die Nachricht erwähnt die Server-Version, aktualisiere deine Artifacts. Die Schritte sind in updating FiveM server artifacts.

6. Das Skript selbst ist nicht schuldig

Wenn ox_lib installiert und gestartet ist, aber ein Skript bricht immer noch ab, bestätige, dass:

  • Der Ordner des Skripts selbst ist benannt wie seine ensure-Zeile sagt.
  • Du hast nicht ox_lib in den Ordner des Skripts kopiert. Es muss eine ox_lib-Ressource geben, auf der obersten Ebene von resources (oder in einem Klammer-Ordner).
  • Keine zweite Kopie von ox_lib existiert in einem anderen Kategorie-Ordner. Zwei Ordner mit dem gleichen Ressourcen-Namen verursachen unvorhersehbares Verhalten.

Tipp: Wenn du ox_lib aktualisierst, lösche den alten Ordner zuerst anstatt über ihn zu entzippen. Alte Dateien, die zurückgelassen werden, können mit neuen vermischt werden.

Checkliste

Symptom Behebung
@ox_lib/init.lua schlägt fehl Installiere ox_lib mit genau diesem Ordnernamen
UI-Teile von ox_lib fehlen Verwende ox_lib.zip von Releases, nicht die Quelle zip
No such export ... in resource ox_lib Aktualisiere ox_lib; prüfe, dass es ohne Fehler gestartet wurde
lib ist nil in einem Skript Füge shared_script '@ox_lib/init.lua' zu seinem Manifest hinzu
Skript lädt vor ox_lib ensure ox_lib über dem Skript in server.cfg
Lua-Syntaxfehler beim Laden Füge lua54 'yes' zum Manifest hinzu

Kurze Antworten

Wo lade ich ox_lib herunter?

Von der Releases-Seite des ox_lib-Repositorys, unter Verwendung der ox_lib.zip-Datei, die an die neueste Version angehängt ist. Verwende nicht die grüne Code, Download ZIP-Schaltfläche, die keine integrierten Web-Dateien hat.

Warum schlägt das Skript mit @ox_lib/init.lua fehl?

FiveM lädt diese Datei aus der ox_lib-Ressource. Wenn der Ordner fehlt, falsch benannt ist oder nicht startet, kann der Pfad nicht aufgelöst werden und das Skript schlägt fehl.

Brauchst du lua54 für ox_lib?

Ja. Eine Ressource, die @ox_lib/init.lua importiert, sollte lua54 'yes' in ihrem Manifest deklarieren, da ox_lib selbst Lua 5.4 verwendet.

Scripts ohne dieses Problem

Mic PhoneEin faltbares Handy, das sich zum Tablet aufklappt und bis aufs echte Handy des Spielers reicht.Script ansehen →Item Creator V2Erstelle nutzbare Items mit Animationen, Props, Effekten und mehr — ganz ohne Code.Script ansehen →Quest CreatorEin visueller Editor für Quests und NPC-Dialoge, Node für Node im Spiel gebaut.Script ansehen →

Weiterlesen