albatrosary's blog

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

YEOMANジェネレータからプロジェクトを作るときのディレクトリ

新年事始めは1/4(日)のYEOMANハンズオン@大阪から開始しました。総勢10名の方がお見えになりYEOMANのチュートリアルをやりYEOMANの概要を説明したりと充実した内容だったのでは無いかと思います。最後はもちろん新年会で大阪名物「串カツ」を頂きました。

年初め - 今日からYEOMANを使って2015年に差をつける - YEOMAN同好会 | Doorkeeper

このエントリーでは、プロジェクトを作成するとき多くの方が共通したトラブルがありましたのでポイントをまとめます。

プロジェクトのインストールディレクトリ

一般的にはプロジェクトディレクトリを作成してから、その中でyoコマンドを実行します。不慣れだと

  1. ホームディレクトリでyoコマンドを実行
  2. 動作確認後プロジェクトディレクトリを作成
  3. チェンジディレクトリでyoコマンドを実行

この「3」のときにオーバーライドするメッセージが表示され戸惑うというケースが何回かありました。具体的には:

$ yo webapp

Just found a `.yo-rc.json` in a parent directory.
Setting the project root at: /Users/albatrosary/Project/multi_dir


     _-----_
    |       |    .--------------------------.
    |--(o)--|    |    Welcome to Yeoman,    |
   `---------´   |   ladies and gentlemen!  |
    ( _´U`_ )    '--------------------------'
    /___A___\    
     |  ~  |     
   __'.___.'__   
 ´   `  |° ´ Y ` 

Out of the box I include HTML5 Boilerplate, jQuery, and a Gruntfile.js to build your app.
? What more would you like? Bootstrap
 conflict Gruntfile.js
? Overwrite Gruntfile.js? (Ynaxdh) 

メッセージで「Just found a .yo-rc.json in a parent directory.」と言われている通り「.yo-rc.json」が親ディレクトリで見つかったと訴えています。

.yo-rc.json は?

.yo-rc.json は2つの意味があります:

  • 環境設定用のファイル
  • プロジェクトのルート・ディレクトリを定義するための目印

YEOMANのサイトでは次のページの「Generators should generate a .yo-rc.json file」に記載があります:

Generators New Year Cleanup! | Yeoman

The .yo-rc.json file allow you to save configuration, but is also the marker used to define a project root folder. This allow user from running yo command from sub directory to work on their whole project.

もし間違えてホームディレクトリ「~」でプロジェクトを作ってしまった場合は「.yo-rc.json」を削除すればトラブル回避できます。もっとも間違ってインストールしてますので後々綺麗に削除しておくのがより良いとは思います。

余談(新年会)

余談ですが、大阪で新年会を行いました。何年も大阪に通っていますが名物「串かつ」は初体験かもです、美味しかったです。

f:id:albatrosary:20150105202926j:plain

f:id:albatrosary:20150105202910j:plain

f:id:albatrosary:20150105202938j:plain

最後に

YEOMAN同好会というノマド仲間以上ユーザ会未満のような微妙な会をdoorkeeperに作りました。もし宜しければメンバーになっていただけるとと思います。なったからといって有用な情報が来る保証は全くありません…

ということで本年もよろしくお願い致します。

f:id:albatrosary:20150105203651p:plain