205

npm installコマンド フラグまたは環境変数を使用して、のカスタム パッケージの宛先を指定することはできますか?

デフォルトでは、npm ローカル インストールnode_modulesは現在のディレクトリ内で終了しますがnode_modules、別のディレクトリ内にインストールする必要がありますvendor/node_modules。どうすればそれを実現できますか?

4

5 に答える 5

197

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

*これは「グローバル」インストールですが、インストールされた bin は に~/foo/vendor/node_modules存在しない限り、コマンド ラインからアクセスできませんPATH

TL;DR

の構成可能なすべての属性は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 の構造の概要を示しており、構成セクションはこの質問に答えています。

于 2013-02-14T02:53:00.307 に答える
36

設定でこれが必要な場合は、次のように npm config を設定できます。

npm config set prefix "$(pwd)/vendor/node_modules"

また

npm config set prefix "$HOME/vendor/node_modules"

設定を確認してください

npm config ls -l

または@pjeが言うように、--prefixフラグを使用します

于 2015-01-29T02:04:00.970 に答える
10

たとえば、Windows 7 では、次の一連のコマンド/操作を使用できます。

個人用の環境変数を作成します。二重のバックスラッシュは必須です:

  • 変数名:%NPM_HOME%
  • 変数値:C:\\SomeFolder\\SubFolder\\

ここで、構成値を新しいフォルダー (ファイル名の例) に設定します。

  • npm フォルダーを設定する

npm config set prefix "%NPM_HOME%\\npm"

  • npm-cache フォルダーを設定する

npm config set cache "%NPM_HOME%\\npm-cache"

  • npm 一時フォルダーを設定する

npm config set tmp "%NPM_HOME%\\temp"

必要に応じて、構成が変更される前に元のフォルダーの内容を消去できます。

  • npm-cache を削除します npm cache clear

  • npm モジュールを一覧表示する npm -g ls

  • npm モジュールを削除します npm -g rm name_of_package1 name_of_package2

于 2017-02-07T13:50:20.700 に答える