2016-05-12 27 views
5

ジェネレータジェネレータジェネレータを使用しようとしていますが、エラーが発生しています。エラージェネレータを実行した後の "未処理のエラー"イベント "

[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) 

バージョン:

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

私はすでに-gヨーヨー/ヨーマン・発電機/発電機、発電機をクリーンインストールし、NPM NPMキャッシュをしました。すでに再起動したノードとnpm。お時間を

感謝:)

答えて

10

あなたが最新バージョンにyoを更新する必要があります。

npm -g update yo

そして、それが動作しない場合は、希望:

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

私のノード環境はnvmによって管理されています。現在、私はノードv6.2.0を使用しています – Chandru

+0

@ Chandruはあなたに2つのnpmがインストールされているような音です。 'yo'を実行し、' DEBUG = yeoman:* yo'を実行すると、どのパスが使用されているかについてより多くの情報が得られます。 –

+0

はい。あなたが正しいです。私は複数のnpmsを持っていて、私がインストールしたパスは現在のnpmパスとは異なっていました。だから、以前のバージョンのノードに切り替えて、ジェネレータコマンドを使い続ける必要がありました。 – Chandru

1

は、私は同様の問題がありました。しかし、更新や再インストールは私を助けませんでした。

私のノード環境は、現在ノードv6.2.0を使用しているnvmによって管理されています。しかし、私はノードv4.4.1を使用していましたが、私のPCにはずっと前からインストールされていました。私がv4.4.1を使用したとき、私はエラーを取得しませんでした。

結論として、yo angular-fullstackコマンドは、それがインストールされた同じノードバージョンで動作しているという結論になります。 nvmはノードバージョンの切り替えに便利なので、それは大きな問題ではありません。私はいくつかの角度成分を生成し、最新のバージョンに戻るときにのみ、v4.4.1を使用します。

+0

うまくいった! –

0

この問題もありました。 また、ノードのバージョンを管理するためにnvmを使用しています。

私の場合、npm dedupe -gnpm update -g yonpm uninstall -g yo、およびnpm install -g yoのいくつかの組み合わせがこのトリックを行いました。 ローカルジェネレータであるため、npm linkもマイジェネレータから再送信します。私はそれがnpmからインストールされたジェネレータであれば、npm uninstall -g <generator-name>の後に `npm install -gが同じ目的を果たすだろう。

何時でも、ジェネレータは再び動作を開始しましたが、私はユニットテストの一部としてジェネレータを実行していたため、正確なタイミングに気づいていませんでした。

最終的に、私はコマンドラインから実行したときにジェネレータが動作していたが、テストファイルから実行したときは発生していないことに気がつきました。

その時点で、yeoman's test helpersnpm update yeoman-test)を1.1.0から1.4.0に更新することができました。

関連する問題