LoginSignup
11
11

More than 5 years have passed since last update.

Nodev0.8.x以降のパッケージのインストールパスがちょっと変だったので対処したメモ

Posted at

※自分用なので参考にならないかもしれません。

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)
11
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
11