カテゴリー
Apple

Mac に homebrew で Node.js などをインストールした方法と、nodebrew を使わなかった理由

nodebrew ではなく、homebrew を使って Node.js をインストールした理由

  • 複数バージョンの Node.js を使い分ける予定が無いため。
  • つまり、最新の Node.js さえあれば良い
  • Yeoman で Angular.js 開発がしたい。Node.js そのものを使ってシステム開発はしないため、nodebrew は不要。

ちなみに、それぞれどんなものであるか、本家リンクを貼っておきます。

AngularJS 開発を効率的に進めていくために、次のものをインストールしていきます。

前提

  • Mac であること。ちなみに実践したのは OS X Yosemite バージョン 10.10.5
  • homebrew がインストール済み
  • ターミナルで操作

コマンドまとめ

brew install node
node --version && npm --version

npm install --global npm@latest
npm --version

npm install --global yo bower grunt-cli
yo --version && bower --version && grunt --version

npm install --global generator-angular

Node.js と npm インストール

コマンドとしては Node.js のみですけれども、npm も同時にインストールされます。

コマンド

brew install node
node --version && npm --version

インストールログ

$ brew install node
==> Downloading https://homebrew.bintray.com/bottles/node-0.12.7.yosemite.bottle.tar.gz
######################################################################## 100.0%
==> Pouring node-0.12.7.yosemite.bottle.tar.gz
==> Caveats
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d
==> Summary
  /usr/local/Cellar/node/0.12.7: 2726 files, 31M
$

確認ログ

$ node --version && npm --version
v0.12.7
2.12.1
$

npm を最新版へアップデート

コマンド

npm install --global npm@latest
npm --version

インストールログ

$ npm install --global npm@latest
/usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js
npm@2.14.0 /usr/local/lib/node_modules/npm
$

確認ログ

$ npm --version
2.14.0
$

インストールした時点でのバージョンは 2.12.1 でしたので、更新されたことが分かりますの♪

Yeoman、Bower、grunt-cli インストール

Yeoman は yo ですわ。

コマンド

npm install --global yo bower grunt-cli
yo --version && bower --version && grunt --version

インストールログ

$ npm install --global yo bower grunt-cli
/usr/local/bin/grunt -> /usr/local/lib/node_modules/grunt-cli/bin/grunt
 
> spawn-sync@1.0.13 postinstall /usr/local/lib/node_modules/yo/node_modules/cross-spawn/node_modules/spawn-sync
> node postinstall

/usr/local/bin/yo -> /usr/local/lib/node_modules/yo/lib/cli.js
 
> yo@1.4.7 postinstall /usr/local/lib/node_modules/yo
> yodoctor

-
Yeoman Doctor
Running sanity checks on your system

✔ Global configuration file is valid
✔ NODE_PATH matches the npm root
✔ Node.js version
✔ No .bowerrc file in home directory
✔ No .yo-rc.json file in home directory
✔ npm version

Everything looks all right!
/usr/local/bin/bower -> /usr/local/lib/node_modules/bower/bin/bower
grunt-cli@0.1.13 /usr/local/lib/node_modules/grunt-cli
├── resolve@0.3.1
├── nopt@1.0.10 (abbrev@1.0.7)
└── findup-sync@0.1.3 (glob@3.2.11, lodash@2.4.2)

yo@1.4.7 /usr/local/lib/node_modules/yo
├── titleize@1.0.0
├── array-uniq@1.0.2
├── figures@1.3.5
├── user-home@1.1.1
├── async@1.4.2
├── opn@1.0.2
├── humanize-string@1.0.1 (decamelize@1.0.0)
├── sort-on@1.2.2 (arrify@1.0.0, dot-prop@2.2.0)
├── yeoman-character@1.0.1 (supports-color@1.3.1)
├── findup@0.1.5 (commander@2.1.0, colors@0.6.2)
├── chalk@1.1.1 (escape-string-regexp@1.0.3, supports-color@2.0.0, ansi-styles@2.1.0, strip-ansi@3.0.0, has-ansi@2.0.0)
├── string-length@1.0.1 (strip-ansi@3.0.0)
├── meow@3.3.0 (object-assign@3.0.0, minimist@1.1.3, camelcase-keys@1.0.0, indent-string@1.2.2)
├── root-check@1.0.0 (sudo-block@1.2.0, downgrade-root@1.1.0)
├── repeating@1.1.3 (is-finite@1.0.1)
├── yosay@1.0.5 (ansi-regex@1.1.1, ansi-styles@2.1.0, word-wrap@1.1.0, pad-component@0.0.1, strip-ansi@2.0.1, taketalk@1.0.0, minimist@1.1.3, string-width@1.0.1)
├── configstore@1.2.1 (os-tmpdir@1.0.1, object-assign@3.0.0, graceful-fs@4.1.2, uuid@2.0.1, osenv@0.1.3, xdg-basedir@2.0.0, write-file-atomic@1.1.2, mkdirp@0.5.1)
├── update-notifier@0.5.0 (is-npm@1.0.0, latest-version@1.0.1, semver-diff@2.0.0)
├── npm-keyword@1.2.0 (registry-url@3.0.3)
├── package-json@1.2.0 (registry-url@3.0.3)
├── got@3.3.1 (lowercase-keys@1.0.0, timed-out@2.0.0, is-stream@1.0.1, is-redirect@1.0.0, prepend-http@1.0.2, object-assign@3.0.0, infinity-agent@2.0.3, nested-error-stacks@1.0.1, duplexify@3.4.2, read-all-stream@3.0.1)
├── fullname@1.1.1 (npmconf@2.1.2)
├── cross-spawn@0.4.1 (lru-cache@2.6.5, spawn-sync@1.0.13)
├── yeoman-environment@1.2.7 (escape-string-regexp@1.0.3, log-symbols@1.0.2, diff@1.4.0, text-table@0.2.0, untildify@2.1.0, debug@2.2.0, mem-fs@1.1.0, globby@2.1.0, grouped-queue@0.3.0)
├── insight@0.6.0 (object-assign@2.1.1, async@0.9.2, lodash.debounce@3.1.1, os-name@1.0.3, tough-cookie@1.2.0, request@2.61.0)
├── lodash@3.10.1
├── yeoman-doctor@1.4.0 (object-values@1.0.0, log-symbols@1.0.2, each-async@1.1.1, semver@4.3.6, bin-version-check@2.1.0, twig@0.8.2)
└── inquirer@0.8.5 (ansi-regex@1.1.1, cli-width@1.0.1, through@2.3.8, readline2@0.1.1, rx@2.5.3)

bower@1.4.1 /usr/local/lib/node_modules/bower
├── is-root@1.0.0
├── junk@1.0.2
├── stringify-object@1.0.1
├── user-home@1.1.1
├── chmodr@0.1.0
├── abbrev@1.0.7
├── archy@1.0.0
├── opn@1.0.2
├── bower-logger@0.2.2
├── bower-endpoint-parser@0.2.2
├── graceful-fs@3.0.8
├── lockfile@1.0.1
├── lru-cache@2.6.5
├── nopt@3.0.3
├── retry@0.6.1
├── tmp@0.0.24
├── q@1.4.1
├── request-progress@0.3.1 (throttleit@0.0.2)
├── chalk@1.1.1 (escape-string-regexp@1.0.3, supports-color@2.0.0, ansi-styles@2.1.0, has-ansi@2.0.0, strip-ansi@3.0.0)
├── semver@2.3.2
├── shell-quote@1.4.3 (array-map@0.0.0, array-reduce@0.0.0, array-filter@0.0.1, jsonify@0.0.0)
├── fstream@1.0.7 (inherits@2.0.1)
├── bower-json@0.4.0 (intersect@0.0.3, deep-extend@0.2.11, graceful-fs@2.0.3)
├── p-throttler@0.1.1 (q@0.9.7)
├── which@1.1.1 (is-absolute@0.1.7)
├── mkdirp@0.5.0 (minimist@0.0.8)
├── promptly@0.2.0 (read@1.0.6)
├── fstream-ignore@1.0.2 (inherits@2.0.1, minimatch@2.0.10)
├── glob@4.5.3 (inherits@2.0.1, once@1.3.2, inflight@1.0.4, minimatch@2.0.10)
├── rimraf@2.4.2 (glob@5.0.14)
├── tar-fs@1.8.1 (pump@1.0.0, tar-stream@1.2.1)
├── update-notifier@0.3.2 (is-npm@1.0.0, string-length@1.0.1, semver-diff@2.0.0, latest-version@1.0.1)
├── insight@0.5.3 (object-assign@2.1.1, async@0.9.2, lodash.debounce@3.1.1, os-name@1.0.3, tough-cookie@0.12.1)
├── decompress-zip@0.1.0 (mkpath@0.1.0, touch@0.0.3, readable-stream@1.1.13, binary@0.3.0)
├── request@2.53.0 (caseless@0.9.0, aws-sign2@0.5.0, stringstream@0.0.4, forever-agent@0.5.2, oauth-sign@0.6.0, tunnel-agent@0.4.1, isstream@0.1.2, json-stringify-safe@5.0.1, node-uuid@1.4.3, qs@2.3.3, combined-stream@0.0.7, form-data@0.2.0, mime-types@2.0.14, bl@0.9.4, http-signature@0.10.1, tough-cookie@2.0.0, hawk@2.3.1)
├── bower-registry-client@0.3.0 (graceful-fs@2.0.3, request-replay@0.2.0, rimraf@2.2.8, lru-cache@2.3.1, async@0.2.10, mkdirp@0.3.5, request@2.51.0)
├── github@0.2.4 (mime@1.3.4)
├── cardinal@0.4.4 (ansicolors@0.2.1, redeyed@0.4.4)
├── mout@0.11.0
├── bower-config@0.6.1 (osenv@0.0.3, graceful-fs@2.0.3, optimist@0.6.1, mout@0.9.1)
├── configstore@0.3.2 (object-assign@2.1.1, xdg-basedir@1.0.1, osenv@0.1.3, uuid@2.0.1, js-yaml@3.4.0)
├── inquirer@0.8.0 (figures@1.3.5, ansi-regex@1.1.1, mute-stream@0.0.4, through@2.3.8, readline2@0.1.1, chalk@0.5.1, lodash@2.4.2, cli-color@0.3.3, rx@2.5.3)
└── handlebars@2.0.0 (optimist@0.3.7, uglify-js@2.3.6)
$

確認ログ

$ yo --version && bower --version && grunt --version
1.4.7
1.4.1
grunt-cli v0.1.13
$

AngularJS generator インストール

コマンド

npm install --global generator-angular

インストールログ

$ npm install --global generator-angular
npm WARN peerDependencies The peer dependency generator-karma@>=0.9.0 included from generator-angular will no
npm WARN peerDependencies longer be automatically installed to fulfill the peerDependency
npm WARN peerDependencies in npm 3+. Your application will need to depend on it explicitly.
npm WARN deprecated CSSselect@0.4.1: the module is now available as 'css-select'
npm WARN deprecated CSSwhat@0.4.7: the module is now available as 'css-what'
npm WARN peerDependencies The peer dependency yo@>=1.0.0 included from generator-karma will no
npm WARN peerDependencies longer be automatically installed to fulfill the peerDependency
npm WARN peerDependencies in npm 3+. Your application will need to depend on it explicitly.
generator-karma@1.0.0 /usr/local/lib/node_modules/generator-karma
├── sorted-object@1.0.0
├── underscore@1.8.3
└── yeoman-generator@0.19.2 (xdg-basedir@1.0.1, read-chunk@1.0.1, detect-conflict@1.0.0, yeoman-welcome@1.0.1, user-home@1.1.1, rimraf@2.4.2, diff@1.4.0, text-table@0.2.0, mime@1.3.4, dargs@4.0.1, async@0.9.2, nopt@3.0.3, cross-spawn@0.2.9, debug@2.2.0, chalk@1.1.1, istextorbinary@1.0.2, run-async@0.1.0, shelljs@0.4.0, mkdirp@0.5.1, through2@0.6.5, mem-fs-editor@1.2.3, cli-table@0.3.1, underscore.string@3.1.1, pretty-bytes@1.0.4, dateformat@1.0.11, glob@5.0.14, findup-sync@0.2.1, github-username@1.1.1, yeoman-assert@1.0.0, class-extend@0.1.1, yeoman-environment@1.2.7, download@4.2.0, html-wiring@1.2.0, sinon@1.16.1, gruntfile-editor@1.0.0, lodash@3.10.1, inquirer@0.8.5)

generator-angular@0.12.1 /usr/local/lib/node_modules/generator-angular
├── chalk@1.1.1 (ansi-styles@2.1.0, supports-color@2.0.0, escape-string-regexp@1.0.3, has-ansi@2.0.0, strip-ansi@3.0.0)
├── yosay@1.0.5 (ansi-regex@1.1.1, ansi-styles@2.1.0, word-wrap@1.1.0, strip-ansi@2.0.1, pad-component@0.0.1, taketalk@1.0.0, minimist@1.1.3, repeating@1.1.3, string-width@1.0.1)
├── wiredep@2.2.2 (propprop@0.3.0, minimist@1.1.3, chalk@0.5.1, through2@0.6.5, lodash@2.4.2, glob@4.5.3, bower-config@0.5.2)
└── yeoman-generator@0.16.0 (dargs@0.1.0, isbinaryfile@2.0.4, debug@0.7.4, diff@1.0.8, class-extend@0.1.1, rimraf@2.2.8, findup-sync@0.1.3, text-table@0.2.0, async@0.2.10, mkdirp@0.3.5, mime@1.2.11, shelljs@0.2.6, chalk@0.4.0, glob@3.2.11, underscore.string@2.3.3, iconv-lite@0.2.11, lodash@2.4.2, request@2.30.0, file-utils@0.1.5, cheerio@0.13.1, inquirer@0.4.1, download@0.1.19)
$

確認ログ

確認用のコマンドがございませんので、特にありません。

おわりに

Windows 10 に Yeoman をインストールして、AngularJS 開発を始める環境を構築する手順 | oki2a24 にて Windowsで Yeoman を使用した AngularJS 開発環境を構築する手順をノートいたしました。

今回、Mac で行った記録を残しております。

Mac の方が簡単でしたの♪

以上です。

コメントを残す