※自分用なので参考にならないかもしれません。
npm install -g
を使って新しいパッケージをインストールしてみたら、なぜかコマンドが見つからない状態になってた。
##環境
- MacOSX v10.8.1 (Mountain Lion)
- Node v0.8.8 (Homebrewでインストール)
- NPM v1.1.59
##どこいった?
npm ls yeoman
と実行してみると、
$ npm ls -g yeoman
[…]
/usr/local/share/npm/lib
└── yeoman@0.9.1
もともと Node v0.6でグローバルインストールしていたExpressでは、
$ npm ls -g express
[…]
/usr/local/share/npm/lib
└── (empty)
(empty)
なはずはないのでおかしい。
$ npm bin -g
/usr/local/share/npm/bin
$ npm prefix -g
/usr/local/share/npm
/usr/local/bin/
とかではなく、/usr/local/share/npm/bin/
におかれてしまっている
$ ls /usr/local/share/npm/bin/
_yeomaninsight yeoman
##気になること
Homebrew
のオプションで、--without-npm
っていうのがあるが、これを指定せずにアップデートしていて、いままで使っていたcurl
コマンドでインストールしているものと置き換わったからパスが変わったのか?
brewinfo.sh
$ brew info node node: stable 0.8.8, HEAD
http://nodejs.org/
/usr/local/Cellar/node/0.8.8 (846 files, 13M) *
https://github.com/mxcl/homebrew/commits/master/Library/Formula/node.rb
==> Options
--without-npm
npm will not be installed
--enable-debug
Build with debugger hooks
##対応
いまとなっては確かめようがないので、NODE_PATH
環境変数とPATHを修正した。
###NODE_PATH
新しいパスnpm prefix -g
の結果を追加
export NODE_PATH=$NODE_PATH:$(npm prefix -g 2>/dev/null)/lib/node_modules
###PATH
npm bin -g
の結果を追加
export PATH=$PATH:$(npm bin -g 2>/dev/null)