Please note, this is a STATIC archive of website developer.mozilla.org from November 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Durchführung der Gaia codebase

Dieser Artikel beschreibt im Detail die lokale Durchführung der Gaia Codebase und welche Werkzeuge in diesem Setup verfügbar sind.

Zuerst sei erwähnt, dass Du NICHT Gecko oder B2G erstellen musst, um zu Gaia beizutragen. Du musst lediglich den Gaia Quellcode herunterladen und die Möglichkeit haben, diesen auszuführen und zu editieren.

Es gibt verschiedene Möglichkeiten, Gaia auszuführen:

  • Flashe Dein Smartphone mit der aktuellen Gaia Version.
  • Starte Gaia innerhalb einer B2G Desktop Version.
  • Führe Gaia innerhalb von WebIDE aus.
  • Starte Gaia innerhalb Deines Firefox Mulet Tools aus, um Gaia auf dem Desktop auszuführen.

Du findest auf der Different ways to run Gaia Seite kurzgefasste Informationen über jede der genannten Möglichkeiten, zusammen mit Links zu detailierten Beschreibungen - je nach Bedarf. Generell sind diese nach Komplexität geordnet, absteigend von der komplexesten zur einfachsten (aber unwahrscheinlichsten) Methode.

In diesem Artikel konzentrieren wir uns auf das Ausführen von Gaia innerhalb von Firefox Mulet oder in WebIDE. Für die meisten Änderungen, die Du in der Gaia Codebase machen möchtest, bietet dies den schnellsten Mechanismus, Updates zu testen aber offensichtlich gibt es einige Funktionen (z. B. das Testen von Geräte-APIs oder Interaktion mit der Smartphone Hardware ), für die ein physisches Gerät benötigt wird.

Info: Um weitere Hilfe zu Gaia zu bekommen, der beste Platz ist der #gaia IRC Channel (siehe auch Mozilla IRC für weitere Informationen hierzu) und die dev-gaia mailing list.

Ausführen der eigenen Gaia Version

  1. Erstelle zuerst eine Verzweigung von der Gaia repo on Github.
  2. Als nächstes, klone Deine Verzweigung lokal:
    git clone https://github.com/your-username/gaia.git
  3. Füge den Upstream wie folgt hinzu:
    cd gaia
    git remote add upstream https://github.com/mozilla-b2g/gaia
  4. Nun musst Du ein Gaia Profil anlegen. Führe make innerhalb Deines repo Ordners aus, um ein Profil in der profile Directory anzulegen, die für optimales Debugging konfiguriert ist. Dies erzeugt ungepackte (hosted) Versionen der Gaia Apps, welche dazu fungieren, gebündelt und direkt über den lokalen HTTPD Server -zusammen als Erweiterung für Firefox Desktop- übertragen zu werden. Wenn Du Änderungen gemacht hast, musst Du nur Dein Browser Fenster aktualisieren, um das Ergebnis zu sehen (wie Du es später sehen wirst), statt Dein Profil erneuern zu müssen, erneut auf das Gerät übertragen u.s.w..
    Dies ist sehr gut für schnelles CSS/JS/HTML Hacking.
  5. Mit Deinem angelegten Debug Profil, führe es in Mulet or WebIDE aus, mithilfe der Anleitungen hinter den Links.

Troubleshooting und bekannte Probleme

Error: Python executable "python3" is v3.x, which is not supported by gyp.

In manchen Linux Versionen (eg: Archlinux), ist python3 der Standard python. Dadurch scheitert npm beim Ausführen mancher Befehle (z B. beim Testen). Um dies permanent zu beheben, führe folgenden Befehl aus:

npm config set python python2

Weiter Lösungen findest Du auch auf dieser Seite: Stack Overflow page.

Danach solltest Du Deine node_modules Directory löschen und den gescheiterten Befehl erneut ausführen.

Please Install NodeJS -- (use aptitude on linux or homebrew on osx)

Nun bekommst Du diesen Fehler obwohl Du NodeJS installiert hast. Möglicherweise benutzt Du Debian oder andere Debian-basierende Versionen wie zum Beispiel Ubuntu. Bei diesen Versionen ist NodeJS im nodejs Paket und Du kannst das nodejs-legacy Paket folgendermaßen installieren, um alles korrekt aufzusetzen:

sudo aptitude install nodejs-legacy

Solltest Du bei der Installation des Paketes Probleme haben, benutzt Du eventuell Chris Lea's PPA for Node; bitte entferne diese bevor Du weitermachst.

Schlagwörter des Dokuments und Mitwirkende

 Mitwirkende an dieser Seite: chrisdavidmills, MaNick69
 Zuletzt aktualisiert von: chrisdavidmills,