2013-08-20 6 views
20

Ich versuche, ein lokales Paket auf Meteor auszuführen.Installieren eines lokalen Pakets auf Meteor

Ich habe eine korrekte package.js, habe eine smart.json, und es ist in meinem/Pakete-Verzeichnis in meinem Meteor-Projekt. Die smart.json an meinem Projekt sieht wie folgt aus:

{ 
    "packages": { 
     "router": {}, 
     "userErrors": { 
      "path": "/home/user/Documents/project/packages/userErrors" 
     } 
    } 
} 

Und ich api.add_files und alles richtig verwende. Der Code läuft gut, wenn ich ihn aus dem Paketordner nehme. Gibt es etwas, das mir fehlt, damit dieses Paket funktioniert? Ich führe Meteor mit dem Befehl mrt.

Antwort

27

versuchen, Ihre Dateien in dem ‚Paketen‘ Verzeichnis Ihrer App zu setzen und auszuführen: Meteor [Paketname]

+0

Nice! Die Unterscheidung zwischen "mrt" und "meteor" hat mich immer wieder abgewimmelt. – Xiv

+0

in der Tat mrt ist [Meteorit] (https://github.com/oortcloud/meteorite), ein separates Tool von Meteor für Version und Paket-Management. –

+0

Es ist interessant, dass das Paketsystem zwischen Meteor und MRT völlig unabhängig zu sein scheint. Scheint, als gäbe es Redundanz nein? – Xiv

30

Meteor von 0,9 verfügt nicht über ein „Pakete“ Verzeichnis standardmäßig hinzufügen wird aber nach wie vor Verwenden Sie es für lokale Pakete. Erstellen Sie es, wenn es nicht existiert.

Ihr lokal entwickeltes Paket muss sich in diesem Ordner befinden. Natürlich können Sie einfach einen symbolischen Link erstellen. Sie können sich selbst tun dies mit ln -s oder die Funktion von mrt verwenden:

mrt link-package /path/to/<your-package> 

Bitte beachten Sie, wenn Sie einen relativen Pfad angeben, dies dem Paketverzeichnis relativ sein müssen, nicht im Verhältnis zu der aktuellen Position. Vielleicht möchten Sie zuerst cd in das Paketverzeichnis, um Verwirrung zu vermeiden.

Schließlich fügen Sie das Paket:

meteor add <your-package> 

WICHTIG: <your-package> Bedürfnisse der Name der Beschreibung in Ihrem package.js sein. Der Name des Ordners/Symlink ist für diese Prozedur nicht relevant.

Wenn Ihr lokales Paket den gleichen Namen wie ein online registriertes Paket hat, wird Ihre lokale Version verwendet.

2

Maschine: OSX 10.10.4, Meteor 1.1.0.3, Bash 3.2.57 (1) -release

1.Erstellen lokalen Meteor Pakete dir und Beispiel Paket.

mkdir ~/.meteor_local_packages && cd $_ && meteor create --package user:package-name 

2. Version prüfen Satz 0.0.1 mindestens

cat ~/.meteor_local_packages/package-name/package.js | grep version: 

3.Point lokale Pakete

echo 'export PACKAGE_DIRS=~/.meteor_local_packages' >> ~/.bash_profile && source ~/.bash_profile 

4.Go zu Ihrem Meteor Projekt Meteor dir

meteor add user:package-name 

5.Liste anzeigen

meteor list | grep user:package-name 
1

Genau wie Xiv vorgeschlagen,
kopiert das Paket in Paketen Ordner (erstellen „Pakete“ Ordner im Hauptverzeichnis Ihrer Anwendung).
Do

meteor add <package name>

(zur Erinnerung: Paketname wird es in package.js in der Verpackung angegeben nicht der Ordnername)

Verwandte Themen