2016-05-12 23 views
5

Sto provando ad utilizzare il generatore di generatori, il generatore-generatore, e sto affrontando un errore.Errore "non gestito" errore "evento" dopo aver eseguito il generatore yo

[email protected]:~/Documents$ yo generator 
? Your generator name (generator-documents) 

events.js:154 
     throw er; // Unhandled 'error' event 
    ^

TypeError: this.env.adapter.prompt(...).then is not a function 
    at Base.prompt (/home/henrique/.nvm/versions/node/v5.8.0/lib/node_modules/generator-generator/node_modules/yeoman-generator/lib/base.js:232:45) 
    at askName (/home/henrique/.nvm/versions/node/v5.8.0/lib/node_modules/generator-generator/node_modules/inquirer-npm-name/lib/index.js:25:19) 
    at module.exports.generators.Base.extend.prompting (/home/henrique/.nvm/versions/node/v5.8.0/lib/node_modules/generator-generator/app/index.js:21:12) 
    at Object.<anonymous> (/home/henrique/.nvm/versions/node/v5.8.0/lib/node_modules/generator-generator/node_modules/yeoman-generator/lib/base.js:431:23) 
    at /home/henrique/.nvm/versions/node/v5.8.0/lib/node_modules/generator-generator/node_modules/run-async/index.js:26:25 
    at /home/henrique/.nvm/versions/node/v5.8.0/lib/node_modules/generator-generator/node_modules/run-async/index.js:25:19 
    at /home/henrique/.nvm/versions/node/v5.8.0/lib/node_modules/generator-generator/node_modules/yeoman-generator/lib/base.js:432:9 
    at processImmediate [as _immediateCallback] (timers.js:383:17) 

Versioni:

[email protected]:~/Documents$ node -v 
v5.8.0 
[email protected]:~/Documents$ npm -version 
3.8.9 

ho già fatto la cache NPM NPM pulire ed installare -g yo/Yeoman-generatore/generatore-generatore. Nodo già ripristinato e npm.

Grazie per il vostro tempo :)

risposta

10

è necessario aggiornare yo alla versione più recente.

npm -g update yo

E se questo non funziona, poi si desidera:

npm -g uninstall yo 
npm -g install yo 
+0

non ha funzionato per me .. il mio ambiente di nodo è gestito da nvm. Attualmente sto usando il nodo v6.2.0 – Chandru

+0

@Chandru mi sembra che tu abbia due npm installati. 'which yo' e in esecuzione' DEBUG = yeoman: * yo' ti fornirà maggiori informazioni su quali percorsi utilizzare. –

+0

sì. hai ragione. avevo più npms e il percorso che ho installato yo era diverso dal mio attuale percorso npm. Così, ho dovuto passare alla versione precedente di nodo e continuare a utilizzare i comandi del generatore. – Chandru

1

ho avuto problema simile. Tuttavia, l'aggiornamento o la re-installazione non mi hanno aiutato.

L'ambiente del mio nodo è gestito da nvm, dove attualmente sto utilizzando il nodo v6.2.0. Tuttavia, yo è stato installato molto tempo fa nel mio pc mentre stavo usando il nodo v4.4.1. Quando ho usato v4.4.1, non ho ricevuto l'errore.

Quindi, la conclusione è che i comandi yo angular-fullstack funzionano nella stessa versione di nodo in cui è stato installato. Come nvm è utile nel passaggio tra la versione del nodo, non è un grosso problema per me. Io uso la v4.4.1 solo quando genero alcuni componenti angolari e torno alla versione più recente.

+0

che è andato bene! –

0

Ho avuto questo problema anche. Sto anche usando nvm per gestire le mie versioni di nodo.

Nel mio caso, una combinazione di npm dedupe -g, npm update -g yo, npm uninstall -g yo, e npm install -g yo ha fatto il trucco. Ho anche reinviato npm link dal mio generatore, poiché si tratta di un generatore locale. Penso che se si tratta di un generatore installato da npm, npm uninstall -g <generator-name> seguito da `npm install -g avrebbe lo stesso scopo.

Ad un certo punto durante tutto questo, il generatore ha iniziato a lavorare di nuovo, ma non ho notato esattamente quando, perché stavo correndo il generatore come una parte del mio test di unità.

Alla fine, mi sono reso conto che il generatore funzionava quando ho eseguito dalla riga di comando, ma non quando mi sono imbattuto dai miei file di test.

A quel punto, l'aggiornamento yeoman's test helpers (npm update yeoman-test) da 1.1.0 a 1.4.0 ha fatto il trucco.