albatrosary's blog

UI/UXとエンタープライズシステム

gruntを使おう 〜 もしgruntタスクを動かしたときにエラーになったら 〜

gruntタスクを実行していてプラグインがエラーになったらどうしますか?多分みなさん次の対策をとるでしょう。

  • ググって問題解決する
  • ググっても駄目なときエラーを自力で修正する
  • とりあえず途方に暮れる

現時点でgrunt-connect-proxyがエラーになりましたのでその対処方法をご紹介します。

エラーの内容

エラーは

$ grunt serve

をしたときに発生します。その内容は

f:id:albatrosary:20140313194449p:plain

どうもverboseが無いようです。一様ソースの中も読みますしググります。残念なことにたいした情報は出てきません。ということでgithubリポジトリを確認します。

f:id:albatrosary:20140313194953p:plain

不具合のチケットが発行されていてcloseされていることが読み取れます。現在package.jsonに記載されているバージョンが

"grunt-connect-proxy": "~0.1.8"

です。npmレジストリに適用されているバージョンを確認します。

f:id:albatrosary:20140313195446p:plain

バージョンが0.1.8ですので、ここから取得しても直らないことがわかります。結論としてはgithubリポジトリから直接取得することを試みます。

githubリポジトリから取得

ここからはいつものようにgithubからのcloneを行い、grunt-connect-proxyディレクトリでnpm installを実行すれば問題解決できます。 

$ cd node_modules
$ rm -rf grunt-connect-proxy
$ git clone git@github.com:drewzboto/grunt-connect-proxy.git
$ cd grunt-connect-proxy
$ npm install

以上でインストール終了です。これでgrunt serveが正しく動くようになります。あとはnpmレジストリが更新されるまで待ちましょう。ちなみにrmでディレクトリを消してますが荒いやり方ですのでnpmコマンドで削除しましょう。

最後に

今回は比較的簡単に問題解決できました。フルOSSで開発するということは自己責任が付いて回ります。問題が起きたときに自分で解決する能力が必要なので、今後も鍛錬あるのみです。