mean.ioに書いてある手順だけではすんなりとはいかなかったので、自分用にメモ
参考
環境情報
| 対象 | バージョン | 
|---|---|
| CentOS | 6.6 | 
| NodeJS | 0.10.33 | 
| NPM | 1.4.28 | 
| MongoDB | 2.6.5 | 
| mean-cli | 0.4.0 | 
事前作業
VagrantでCentOS6を立ち上げておく
$ sudo yum update -y
Gitのインストール
$ sudo yum install -y git
MongoDBのインストール
$ sudo vi /etc/yum.repos.d/mongodb.repo
/etc/yum.repos.d/mongodb.repo
[mongodb]
name=MongoDB Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/
gpgcheck=0
enabled=1
$ sudo yum install -y mongodb-org
$ sudo /etc/init.d/mongod start
NodeJSのインストール
$ curl -sL https://rpm.nodesource.com/setup | sudo bash -
$ sudo yum install -y nodejs
mean環境の作成と実行
$ sudo npm install -g mean-cli
$ mean init meantest
$ cd meantest && npm install
$ vi config/env/development.js
config/env/development.js
〜〜〜
debug: 'true',
hostname: '0.0.0.0', // 追加する
mongoose: {
〜〜〜
$ node server
※ hostnameを設定しないと、下記エラーがでたので、'0.0.0.0'を追加
Mean app started on port 3000 (development)
events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: getaddrinfo ENOTFOUND
    at errnoException (dns.js:37:11)
    at Object.onanswer [as oncomplete] (dns.js:124:16)
その他
下記でgruntでの起動も可能だが、エラーがでる
$ sudo npm install -g grunt-cli
$ cd meantest
$ grunt
下記のエラーが発生
Running "clean:0" (clean) task
Running "jshint:all" (jshint) task
   packages/system/app.js
     10 |var System = new Module('system');
             ^ Redefinition of 'System'.
>> 1 error in 47 files
Warning: Task "jshint:all" failed. Use --force to continue.
packages/system/app.jsのSystemを_systemとかに変更したら解消したが、他に良い方法はないのか・・・。
packages/system/app.js
'use strict';
/*
 * Defining the Package
 */
var Module = require('meanio').Module,
  favicon = require('serve-favicon'),
  express = require('express');
var _system = new Module('system');
/*
 * All MEAN packages require registration
 * Dependency injection is used to define required modules
 */
_system.register(function(app, auth, database) {
  //We enable routing. By default the Package Object is passed to the routes
  _system.routes(app, auth, database);
  _system.aggregateAsset('css', 'common.css');
  // The middleware in config/express will run before this code
  // Set views path, template engine and default layout
  app.set('views', __dirname + '/server/views');
  // Setting the favicon and static folder
  app.use(favicon(__dirname + '/public/assets/img/favicon.ico'));
  // Adding robots and humans txt
  app.use(express.static(__dirname + '/public/assets/static'));
  return _system;
});