2014-09-30 7 views
7

Uso Meteor 0.9.3 e voglio provare a apportare alcune modifiche a un pacchetto Meteor. Sto già utilizzando il pacchetto nella mia app, chiamiamolo: autore: smartpackage.Meteor - Applicazione di test utilizzando il pacchetto locale su quello pubblicato

In primo luogo, ho rimosso il mio riferimento al pacchetto pubblicato:

meteor remove author:smartpackage 

ho biforcato il repository su GitHub, e ha fatto un clone locale:

Ho creato un directory nel mio meteora app:

/meteor/myApp/packages 

e ha creato un link simbolico:

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

Come ora aggiungere questo pacchetto locale nella mia app? Ho provato una varietà di

meteor add xxxx 

opzioni, ma non riesco a trovare il comando giusto. Sono nemmeno vicino?

+2

Vedi il mio post su [pacchetti locali] (https://dweldon.silvrback.com/local-packages). Spiega come farlo con una variabile d'ambiente. Potrebbe essere necessario eseguire 'meteor add author: smartpackage' invece di' meteor add smartpackage' a seconda di cosa si trova in 'package.js'. –

+0

Grazie David: è stato un grande aiuto –

risposta

10

I passaggi che hai descritto mi sembrano buoni, quindi forse questo è il link simbolico che sta facendo casino.

Il modo corretto di manutenzione dei pacchetti privati ​​è quello di avere una directory packages/ qualche parte nel vostro filesystem, diciamo in ~/meteor/packages, allora è necessario impostare una variabile di ambiente speciale che si chiama PACKAGE_DIRS, che è lo sguardo dalla riga di comando di meteoriti strumento per trovare pacchetti locali che risiedono fuori dai repository ufficiali dei pacchetti.

Quindi cerchiamo di impostare questa variabile d'ambiente nel vostro .bashrc e risorse IT:

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

Quindi supponendo che il pacchetto biforcuta risiede in ~/meteor/packages, meteor add author:package dovrebbe funzionare normalmente.

+1

Ho rimosso il collegamento simbolico e ho aggiunto la variabile di ambiente e ora funziona - grazie –

+0

Esecuzione di Meteor 1.1.0.3: Questo non funziona affatto per me. Sembra ignorare i PACKAGE_DIRS locali e ottenere la versione pubblicata a prescindere. C'è forse un bahavior diverso nell'ultima versione dello strumento da riga di comando? –

2

Aggiornamento alla risposta di saimeunt, per Meteor 1.2+ Ho scoperto che il caricamento del pacchetto locale richiede di lasciare l'autore durante l'esecuzione di meteor add.

Carichi pacchetto locale meteor add cocos2d-meteor

carichi remoti pacchetto meteor add jakelin:cocos2d-meteor