Fehlerbehebung

Fehlerbehebung für Bob Shell

Finde Lösungen für Probleme, die bei der Verwendung von Bob Shell auftreten können.

Authentifizierung

Zertifikatsfehler

Fehler: Unable to verify certificate

Ursache: Du befindest dich in einem Unternehmensnetzwerk mit einer Firewall, die SSL/TLS-Datenverkehr abfängt und prüft. Dies erfordert ein benutzerdefiniertes Root-CA-Zertifikat, dem Node.js vertrauen muss.

Lösung: Setze die Umgebungsvariable NODE_EXTRA_CA_CERTS auf den absoluten Pfad deiner Unternehmens-Root-CA-Zertifikatsdatei:

export NODE_EXTRA_CA_CERTS=/path/to/your/corporate-ca.crt

IDE-Integration

Verbindung schlägt fehl

Fehler: Bob Shell kann keine Verbindung zur IDE herstellen.

Ursache: Die Bob Shell Companion-Erweiterung ist möglicherweise nicht installiert oder läuft nicht, oder Bob Shell läuft außerhalb des Workspace-Verzeichnisses.

Lösung:

  1. Installiere die Bob Shell Companion-Erweiterung in deiner IDE.
  2. Navigiere in deinem Terminal zum Workspace-Verzeichnis.
  3. Starte Bob Shell aus dem Workspace-Verzeichnis.
  4. Führe /ide enable in Bob Shell aus.

Verbindung schlägt im Dev-Container fehl

Fehler: Bob Shell kann keine Verbindung zur IDE herstellen, wenn es in einem Dev-Container läuft.

Ursache: Der Bob Shell-Port wird nicht vom Dev-Container zum Host-Rechner weitergeleitet.

Lösung:

  1. Hole den Bob Shell-Port aus dem Terminal im Dev-Container:
    echo $BOB_SHELL_CLI_IDE_SERVER_PORT
    Beispielausgabe: 42991
  2. Öffne die Befehlspalette in deiner IDE und wähle Forward a Port.
  3. Füge den in Schritt 1 angezeigten Port hinzu (zum Beispiel 42991).
  4. Starte Bob Shell:
    bob
  5. Aktiviere die IDE-Integration:
    /ide enable
    Oder prüfe den Verbindungsstatus:
    /ide status

Fehler bei der Verbindung zur IDE Companion-Erweiterung

Fehler: 🔴 Disconnected: Failed to connect to IDE companion extension

Ursache: Die Bob Shell Companion-Erweiterung ist nicht installiert, nicht aktiviert oder läuft nicht in deiner IDE.

Lösung:

  1. Überprüfe, ob die Bob Shell Companion-Erweiterung in deiner IDE installiert und aktiviert ist.
  2. Öffne ein neues Terminal in deiner IDE.
  3. Führe /ide enable in Bob Shell aus.

Verbindung unerwartet unterbrochen

Fehler: 🔴 Disconnected: IDE connection error. The connection was lost unexpectedly

Ursache: Die IDE-Verbindung wurde aufgrund eines Netzwerkproblems oder eines IDE-Neustarts unterbrochen.

Lösung:

  1. Führe /ide enable aus, um die Verbindung wiederherzustellen.
  2. Wenn das Problem weiterhin besteht, starte deine IDE neu.

Verzeichniskonflikt

Fehler: 🔴 Disconnected: Directory mismatch

Ursache: Bob Shell läuft in einem anderen Verzeichnis als der in deiner IDE geöffnete Workspace.

Lösung:

  1. Navigiere zum gleichen Verzeichnis, das in deiner IDE geöffnet ist.
  2. Starte Bob Shell aus diesem Verzeichnis neu.

Kein Workspace-Ordner geöffnet

Fehler: 🔴 Disconnected: To use this feature, please open a workspace folder

Ursache: In deiner IDE ist kein Ordner oder Workspace geöffnet.

Lösung:

  1. Öffne einen Ordner oder Workspace in deiner IDE.
  2. Starte Bob Shell neu.

IDE-Integration nicht unterstützt

Fehler: IDE integration is not supported in your current environment

Ursache: Bob Shell läuft nicht aus dem integrierten Terminal einer unterstützten IDE.

Lösung: Starte Bob Shell aus dem integrierten Terminal einer unterstützten IDE.

Konfigurationsprobleme

.bobignore funktioniert nicht

Fehler: Bob Shell ignoriert Dateien, auf die du zugreifen möchtest, oder greift auf Dateien zu, die du ignorieren möchtest.

Ursache: Die .bobignore-Datei enthält möglicherweise widersprüchliche Muster, eine falsche Musterreihenfolge oder befindet sich am falschen Speicherort. Änderungen sind möglicherweise noch nicht wirksam.

Lösung:

  1. Überprüfe deine .bobignore-Datei auf widersprüchliche Muster.
  2. Stelle sicher, dass spezifischere Muster (wie Negationen mit !) nach allgemeinen Mustern stehen.
  3. Starte deine Bob Shell-Sitzung nach Änderungen an .bobignore neu.
  4. Verwende absolute Pfade, wenn relative Pfade nicht wie erwartet funktionieren.
  5. Stelle sicher, dass sich die .bobignore-Datei im Stammverzeichnis deines Projekts befindet.

Einstellungen werden nicht übernommen

Fehler: Änderungen an Bob Shell-Einstellungen werden nicht wirksam.

Ursache: Die Einstellungsdatei befindet sich möglicherweise am falschen Ort, hat eine ungültige JSON-Syntax oder wird durch Konfigurationsquellen mit höherer Priorität überschrieben. Änderungen sind möglicherweise noch nicht wirksam.

Lösung:

  1. Überprüfe den Speicherort der Einstellungsdatei:
    • Projekteinstellungen: .bob/settings.json in deinem Projektverzeichnis
    • Nutzereinstellungen: ~/.bob/settings.json in deinem Home-Verzeichnis
  2. Überprüfe, ob die JSON-Syntax gültig ist (verwende einen JSON-Validator).
  3. Beachte die Konfigurationsprioritätsreihenfolge:
    • Befehlszeilenargumente (höchste Priorität)
    • Umgebungsvariablen
    • Projekteinstellungen
    • Nutzereinstellungen
    • Systemstandards (niedrigste Priorität)
  4. Starte Bob Shell nach dem Ändern von Einstellungsdateien neu.

Benutzerdefinierte Anweisungen werden nicht geladen

Fehler: Benutzerdefinierte Anweisungen werden nicht auf Bob Shell-Sitzungen angewendet.

Ursache: Benutzerdefinierte Anweisungsdateien befinden sich möglicherweise am falschen Ort, haben falsche Dateiendungen oder werden nicht in den aktuellen Kontext geladen.

Lösung:

  1. Überprüfe, ob die Dateien am richtigen Ort sind:
    • Workspaceweite: .bob/rules/ in deinem Projektstammverzeichnis
    • Modusspezifisch: .bob/rules-{modeSlug}/ in deinem Projektstammverzeichnis
  2. Stelle sicher, dass die Dateien die richtigen Erweiterungen haben (.md, .txt oder .xml).
  3. Verwende /memory refresh, um alle Kontextdateien neu zu laden.
  4. Verwende /memory show, um den aktuellen Kontext zu überprüfen.

Probleme bei der Befehlsausführung

Befehl nicht gefunden

Fehler: command not found: bob

Ursache: Bob Shell ist nicht korrekt installiert oder befindet sich nicht im PATH deines Systems.

Lösung:

  1. Überprüfe, ob Bob Shell installiert ist:
    which bob
  2. Falls nicht gefunden, installiere Bob Shell neu anhand der Installationsanleitung.
  3. Stelle sicher, dass der PATH deiner Shell das Bob Shell-Installationsverzeichnis enthält.

Shell-Modus funktioniert nicht

Fehler: Shell-Modus (!-Befehl) führt keine Befehle aus.

Ursache: Du tippst möglicherweise ! nicht an einer leeren Eingabe, hast keine notwendigen Berechtigungen, oder der Befehl selbst ist möglicherweise ungültig.

Lösung:

  1. Stelle sicher, dass du ! an einer leeren Eingabe eingibst.
  2. Überprüfe, ob du die notwendigen Berechtigungen zum Ausführen von Shell-Befehlen hast.
  3. Versuche, den Befehl direkt in deinem Terminal auszuführen, um zu überprüfen, ob er funktioniert.

Leistungsprobleme

Langsame Antwortzeiten

Fehler: Bob Shell antwortet langsam auf Anfragen.

Ursache: Netzwerkkonnektivitätsprobleme, zu viele als Kontext geladene Dateien oder große binäre Dateien im Kontext.

Lösung:

  1. Überprüfe deine Netzwerkverbindung.
  2. Reduziere die Anzahl der Dateien im Kontext durch Verwendung von .bobignore.
  3. Vermeide das Einbeziehen großer binärer Dateien oder Verzeichnisse wie node_modules/.
  4. Erwäge die Verwendung spezifischerer Dateireferenzen mit @ anstatt alle Dateien zu laden.

Hoher Speicherverbrauch

Fehler: Bob Shell verbraucht übermäßig viel Speicher.

Ursache: Zu viele als Kontext geladene Dateien, nicht ausgeschlossene große Verzeichnisse oder zirkuläre Importe in Speicherdateien.

Lösung:

  1. Begrenze die Anzahl der als Kontext geladenen Dateien.
  2. Verwende .bobignore, um große Verzeichnisse auszuschließen.
  3. Starte Bob Shell bei langen Sitzungen regelmäßig neu.
  4. Überprüfe auf zirkuläre Importe in deinen Speicherdateien.

Tipps zum Debuggen von Bob Shell

Debug-Protokollierung aktivieren

Um die Protokollausführlichkeit für eine Sitzung zu erhöhen, verwende das Flag --log-level oder die Umgebungsvariable BOB_LOG_LEVEL:

bob run --log-level debug "Explain @app.js"
BOB_LOG_LEVEL=debug bob chat

Du kannst auch einen dauerhaften Protokollierungsgrad in deiner Einstellungsdatei festlegen:

{
  "logging": {
    "logLevel": "debug"
  }
}

Deine Version von Bob Shell überprüfen

Führe den folgenden Befehl aus, um deine Version von Bob Shell anzuzeigen:

Interaktive Sitzung:

/about

Nicht-interaktive Sitzung:

bob --version

Protokolldateien

Bob Shell schreibt Protokolldateien nach ~/.bob/logs/shell/. Protokolldateien rotieren automatisch:

  • Es werden maximal 10 Protokolldateien aufbewahrt
  • Jede Datei ist auf 5 MB begrenzt

Um die aktuelle Protokolldatei für eine Sitzung zu finden:

ls -lt ~/.bob/logs/shell/ | head

Teile relevante Protokollauszüge bei der Meldung von Problemen.

Workspace-Stamm-Auflösung

Bob Shell bestimmt den Workspace-Stamm, indem es vom aktuellen Arbeitsverzeichnis aufwärts geht, bis es ein .git- oder .bob-Verzeichnis findet. Das erste Treffer wird zum Workspace-Stamm.

Wenn kein .git- oder .bob-Verzeichnis gefunden wird, verwendet Bob Shell das aktuelle Arbeitsverzeichnis als Workspace-Stamm.

Wie ist dieses Thema?