2014-09-30 13 views
7

Ich benutze Meteor 0.9.3, und ich möchte versuchen, einige Änderungen an einem Meteor Smart-Paket vorzunehmen. Ich benutze das Paket bereits in meiner App, nennen wir es: Autor: Smartpackage.Meteor - Test-Anwendung mit lokalem Paket über dem veröffentlichten

Zuerst entfernte ich mein Verweis auf das veröffentlichte Paket:

meteor remove author:smartpackage 

ich das Repository auf GitHub gegabelt haben, und einen lokalen Klon in:

Ich habe ein geschaffenes Verzeichnis in meinem Meteor App:

/meteor/myApp/packages 

und erstellt einen Symlink:

ln -s /somedir/meteor-smartpackage /meteor/myApp/packages/meteor-smartpackage 

Wie füge ich dieses lokale Paket jetzt in meine App ein? Ich habe eine Vielzahl von Optionen ausprobiert, aber ich kann nicht den richtigen Befehl finden. Bin ich sogar nah dran?

+2

meinen Beitrag anzeigen auf [local Pakete] (https://dweldon.silvrback.com/local-packages). Es wird erläutert, wie dies mit einer Umgebungsvariablen durchgeführt wird. Je nachdem, was in 'package.js' enthalten ist, müssen Sie' meteor addieren Autor: smartpackage' anstelle von 'meteor add smartpackage' eingeben. –

+0

Danke David - das war eine große Hilfe –

Antwort

10

Die Schritte, die du beschrieben hast, sehen gut für mich aus, also ist dies vielleicht der Symlink-Kram, der sich herumspielt.

Der richtige Weg, um private Pakete aufrechtzuerhalten ist ein packages/ Verzeichnis irgendwo in Ihrem Dateisystem haben, lassen Sie sich in ~/meteor/packages sagt, dann müssen Sie eine spezielle Umgebungsvariable, die PACKAGE_DIRS genannt wird, die von der Meteor-Befehlszeile nachgeschlagen wird Tool, um lokale Pakete zu finden, die sich außerhalb der offiziellen Paket-Repositories befinden.

Also lassen Sie uns diese Umgebungsvariable in Ihrem .bashrc und Ressourcen es:

echo "export PACKAGE_DIRS=$HOME/meteor/packages" >> ~/.bashrc; 
. ~/.bashrc 

Dann wird Ihr gegabelt Paket unter der Annahme, in ~/meteor/packages wohnt, sollte meteor add author:package normal arbeiten.

+1

Ich habe den Symlink entfernt, und die Umgebungsvariable hinzugefügt und es funktioniert jetzt - danke –

+0

Running Meteor 1.1.0.3: Das funktioniert überhaupt nicht für mich. Es scheint, das lokale PACKAGE_DIRS zu ignorieren und die veröffentlichte Version unabhängig zu bekommen. Gibt es in der neuesten Version des Befehlszeilentools vielleicht ein anderes Verhalten? –

2

Update zu saimeunt's Antwort, für Meteor 1.2+ Ich fand, dass das Laden des lokalen Pakets erfordert, den Autor auszulassen, wenn meteor add ausgeführt wird.

Lasten Local Package meteor add cocos2d-meteor

Lasten Paket Fern meteor add jakelin:cocos2d-meteor