TL; DR
これを行うには、--prefixフラグと--global*フラグを使用します。
pje@friendbear:~/foo $ npm install bower -g --prefix ./vendor/node_modules
bower@0.7.0 /Users/pje/foo/vendor/node_modules/bower
*これは「グローバル」インストールですが、インストールされたビンは、に~/foo/vendor/node_modules存在しない限り、コマンドラインからアクセスできませんPATH。
TL; R
のすべての構成可能な属性はnpm、6つの異なる場所のいずれかに設定できます。優先順:
- コマンドラインフラグ:
--prefix ./vendor/node_modules
- 環境変数:
NPM_CONFIG_PREFIX=./vendor/node_modules
- ユーザー設定ファイル:
$HOME/.npmrcまたはuserconfigparam
- グローバル構成ファイル:
$PREFIX/etc/npmrcまたはuserconfigparam
- 組み込みの設定ファイル:
path/to/npm/itself/npmrc
- デフォルトの構成: node_modules / npmconf / config-defs.js
デフォルトでは、ローカルにインストールされたパッケージはに移動し./node_modulesます。グローバルなものはprefix設定変数に入ります(/usr/localデフォルト)。
実行するnpm config listと、現在の構成を確認しnpm config editて変更できます。
PS
一般的に、npmのドキュメントは非常に役立ちます。フォルダのセクションは、NPMの良好な構造概要で、設定セクションでは、この質問に答えます。