Yeomanを使用してAngularJSアプリの足場をセットアップするのはこれが初めてであり、nodeJS、うなり声、お辞儀の世界は初めてである可能性が高いことを認めなければなりません。
それで、これまでにやったことは次のとおりです。
Yeoman、grunt-cli、angular-generatorパッケージがインストールされていることを確認しました
npm install -g yo grunt-cli bower
npm install -g generator-angular
アプリを生成しました
yo angular
私も試しました:
yo angular --min-safe
これまでのところ、アルは良いようです。与えられたオプションの中から、Twitter Bootstrap one、no angular依存関係を選択し、ローカルの.gitignoreファイルを上書きします。
その後、アプリを実行しようとします。
grunt serve
この時点で、Gruntはプロジェクトにローカルにインストールされていないことを不平を言うので、次を実行します。
npm install grunt --save-dev
もう一度、アプリを実行しようとしています:
grunt serve
そして、これは私がブロックされる場所です:
C:\Projects\what-now>grunt serve
Running "serve" task
Running "clean:server" (clean) task
Running "concurrent:server" (concurrent) task
Running "copy:styles" (copy) task
Done, without errors.
Warning:
C:\Projects\what-now\node_modules\grunt-contrib-compass\node_modules\tmp\lib\tmp.js:261
throw err;
^
TypeError: Cannot read property 'stdout' of undefined
at compile (C:\Projects\what-now\node_modules\grunt-contrib-compass\tasks\compass.js:37:10)
at C:\Projects\what-now\node_modules\grunt-contrib-compass\tasks\compass.js:68:7
at C:\Projects\what-now\node_modules\grunt-contrib-compass\tasks\lib\compass.js:121:11
at _fileCreated (C:\Projects\what-now\node_modules\grunt-contrib-compass\node_modules\tmp\lib\tmp.js:172:7)
at C:\Projects\what-now\node_modules\grunt-google-cdn\node_modules\bower\node_modules\rimraf\node_modules\graceful-fs\graceful-fs.js:53:5
at C:\Projects\what-now\node_modules\grunt-google-cdn\node_modules\bower\node_modules\rimraf\node_modules\graceful-fs\graceful-fs.js:62:5
at OpenReq.Req.done (C:\Projects\what-now\node_modules\grunt-google-cdn\node_modules\bower\node_modules\fstream\node_modules\graceful-fs\graceful-fs.js:142:5)
at OpenReq.done (C:\Projects\what-now\node_modules\grunt-google-cdn\node_modules\bower\node_modules\fstream\node_modules\graceful-fs\graceful-fs.js:64:22)
//... stack trace continues ...
コンパスのコンパイル方法で爆発するコードを見ると、私が見つけたものは次のとおりです:
child.stdout.pipe(process.stdout);
これは、何らかの理由でchild
が未定義であり、この変数がgrunt.util.spawn
。これは私が迷っているところです。
依存関係がありませんか?設定がありませんか?
情報:
*ため息*、ごめんなさい。
この質問を書いて、Rubyとcompass gemをインストールする必要があったことを理解するだけでした。今では理にかなっています。コンパイルのプロセスは発生しません。
Rubyをインストールした後、次を実行します。
gem install compass
そして、あなたは行ってもいいはずです。
編集: Rubyをインストールした後、RubyランタイムファイルのパスがPATH変数に追加されていることを確認する必要があります。JagWire!に感謝します!)
Windowsでは、Rubyをいくつかインストールしました。
C:\Ruby187
そして
C:\Ruby200-x64
以下を使用して、両方の場所にコンパスをインストールします。
gem install compass
これにより、Windows 8 64ビットでの問題が解決します
Emberについても同じ手順に従って、うなり声を上げます。 「TypeError:未定義のプロパティ 'stdout'を読み取れません。」というエラーを受け取りました。コンパスは以前にインストールされるはずでしたが、gemはコンパスをインストールしました(RubyはWindows 7 64ビットに既にインストールされていました)。ラン・グラントとグラントは問題なく機能します。