web-dev-qa-db-ja.com

Npmはどこでパッケージをインストールしますか?

npmを使用してインストールしたNode.jsモジュールはどこにありますか。

733
Tronic

グローバル図書館

グローバルライブラリがどこにインストールされているかを見るためにnpm list -gを実行することができます。

Unixシステムでは、グローバルにインストールされると、それらは通常/usr/local/lib/nodeまたは/usr/local/lib/node_modulesに配置されます。 NODE_PATH環境変数をこのパスに設定すると、モジュールはノードごとに見つけることができます。

Windows XP - %USERPROFILE%\AppData\npm\node_modules
ウィンドウズ7、8、10 - %USERPROFILE%\AppData\Roaming\npm\node_modules

非グローバルライブラリ

非グローバルライブラリは、現在入っているフォルダのnode_modulesサブフォルダにインストールされます。

現在の場所にインストールされている非グローバルライブラリを確認するには、npm listを実行します。

896
Decko

コマンドnpm rootはあなたのnpmパッケージの有効なインストールディレクトリを教えてくれます。

現在の作業ディレクトリがノードパッケージまたはノードパッケージのサブディレクトリである場合、npm rootはローカルインストールディレクトリを教えてくれます。現在の作業ディレクトリに関係なく、npm root -gはグローバルインストールルートを表示します。

ドキュメントを参照してください。

482
Joe Hawkins

グローバルなnpmパスを調べるには、npm root -gコマンドを使用します。

例:

$ npm root -g
/usr/local/lib/node_modules
181
Ravi

グローバルにインストールされたモジュールの場合:

他の答えはあなたにプラットフォーム特有の応答を与えます、しかし一般的なものはこれです:

npm install -g somethingを使ってグローバルモジュールをインストールするとき、npmはモジュールをどこにインストールするかを知るために設定変数prefixを調べます。

npm config get prefixを実行すると、その値を取得できます。

そのフォルダで利用可能なすべてのグローバルモジュールを表示するにはnpm ls -g --depth 0を使用します(depth 0はそれらの依存関係を表示しません)。

グローバルモジュールパスを変更したい場合は、npm config editを使用してファイルにprefix = /my/npm/global/modules/prefixを入れるか、npm config set prefix /my/npm/global/modules/prefixを使用します。

nodist などのツールを使用すると、グローバルnpmモジュールのプラットフォームデフォルトインストールパスが変更されます。

76
jakub.g

Windowsでは、npm list -gを使って見つけました。デフォルトでは、私の(グローバルな)パッケージはC:\Users\[Username]\AppData\Roaming\npmにインストールされていました。

61
9swampy

以前のバージョンのNPMモジュールは、常に/ usr/local/lib/nodeまたは.npmrcファイル内のnpmルートを指定した場所に配置されていました。ただし、NPM 1.0以降では、モジュールは2か所にインストールされます。あなたのモジュールを/.node_modulesにあなたのアプリケーションのローカルにインストールすることも、グローバルにインストールすることもできます。

https://github.com/isaacs/npm/blob/master/doc/install.md に詳しい情報があります。

16
Nick Campbell

あなたがnpmがインストールした実行ファイルを探しているのなら、それをあなたのPATHに入れたいと思うかもしれません、あなたは単にそうすることができます。

npm bin

または

npm bin -g
13
Ken Goodridge

モジュールがグローバル(-g)フラグでインストールされている場合は、次のコマンドを実行して親の場所を取得できます。

npm get prefix

または

npm ls -g --depth=0

インストールされているモジュールのリストとともに場所を表示します

乾杯:-)

12
dheeran

直接の回答ではありませんが助けになるかもしれません……。

Npmにはキャッシュフォルダもあります。これは、npm config get cache(Windowsでは%AppData%/npm-cache)を実行して見つけることができます。

Npmモジュールは最初にここからダウンロードされ、それからnpmグローバルフォルダ(Windowsの場合は%AppData%/npm/Roaming)またはプロジェクト固有のフォルダ(your-project/node_modules)にコピーされます。

それで、あなたがnpmパッケージを追跡したいのなら、そしていくつかの方法で、(npmキャッシュがきれいにされていなければ)ダウンロードされたすべてのnpmパッケージのリストはこのフォルダを見ます。フォルダ構造は{cache}/{name}/{version}です。

https://docs.npmjs.com/cli/cache

11
Alireza Fattahi

最も簡単な方法は

npm list -g

パッケージを一覧表示し、それらのインストール場所を表示します。

私はchololatey経由でnpmをインストールしたので、場所は

C:¥MyProgramData¥chocolatey¥lib¥nodejs.commandline.0.10.31¥tools¥node_modules

C:\ MyProgramData \はチョコレートリポジトリの場所です。

10
Tharaka

コマンドで グローバルに インストール済みモジュール を見つけることができます。

npm list -g

Node.jsモジュールがインストールされている場所がわかります。

C:\Users\[Username]\AppData\Roaming\npm

Node.js modules local をフォルダにインストールした場合は、次のコマンドを入力して場所を確認できます。

npm list
5

docs :から

パッケージは接頭辞の下のnode_modulesフォルダーにドロップされます。ローカルにインストールする場合、これはメインモジュールをロードするためにrequire( "packagename")、他のモジュールをロードするためにrequire( "packagename/lib/path/to/sub/module")を意味します。

Unixシステムへのグローバルインストールは{prefix}/lib/node_modulesに行きます。 Windowsでのグローバルインストールは{prefix}/node_modulesに行きます(つまり、libフォルダーはありません)。

スコープ付きパッケージは同じようにインストールされますが、関連するnode_modulesフォルダのサブフォルダに、そのスコープのプレフィックス名に@記号が付きます。 npm install @ myorg/packageは、パッケージを{prefix}/node_modules/@ myorg/packageに配置します。詳しくはスコープを見てください。

パッケージをrequire()したい場合は、ローカルにインストールしてください。

あなたはあなたの{prefix}npm config get prefixで手に入れることができます。 (nvmを使ってnodeをインストールしたときに便利です)。

local について読んでください。
グローバルに について読んでください。

3
Randall Flagg

docs :から

Npm 1.0では、インストールする方法が2つあります。

  • グローバルに - これはモジュールを{prefix}/lib/node_modulesにドロップし、実行可能ファイルを{prefix}/binに置きます。ここで、{prefix}は通常/usr/localのようなものです。マニュアルページが提供されている場合は、それも{prefix}/share/manにインストールされます。

  • ローカル - 現在の作業ディレクトリにパッケージをインストールします。ノードモジュールは./node_modulesに入り、実行ファイルは./node_modules/.bin/に入り、manページはまったくインストールされません。

{prefix}npm config get prefixで取得できます。 (nvmを使ってnodeをインストールしたときに便利です)。

3
edelans

Ubuntu 14.04ではそれらは次の場所にインストールされます。

/usr/lib/node_modules

2
Ashutosh Singh

依存関係のないコンパクトなリストを取得するには、単純に

npm list -g --depth 0
2
Adam Bubela

他の答えが言うように、最もよい方法はすることです

npm list -g

しかし、たくさんのnpmパッケージがインストールされていると、このコマンドの出力が非常に長くなり、上にスクロールするのが面倒になることがあります(時にはそれほど遠くまでスクロールできないことさえあります)。

この場合、次のようにmoreプログラムにパイプアウトします。

npm list -g | more
2
Raphi

Windows 10 :私がnpm prefix -gを実行したとき、インストール場所がインストールに使用したgit Shellのパスの内側にあることに気付きました。その場所がパスに追加されても、グローバルにインストールされたパッケージからのコマンドは認識されません。修正者:

  1. npm config editを実行する
  2. 接頭辞を「C:\ Users\username\AppData\Roaming\npm」に変更します。
  3. そのパスをシステムパス変数に追加する
  4. -gを付けてパッケージを再インストールします。
1

ところで、ローカルで見つけることができない場合、npmは親フォルダー(最高ルートまで)でnode_modulesを探します。

1

他の答えを拡大する -

npm list -g

グローバルにインストールされたパッケージの場所を表示します。

そのリストをファイルに出力したい場合は、テキストエディタで簡単に検索できます。

npm list -g > ~/Desktop/npmfiles.txt

1
TWLATL

あなたがコードからあなたのグローバルディレクトリにアクセスしようとしているなら、 process.execPath からバックトラックすることができます。たとえば、{NODE_GLOBAL_DIR}/bin/wsproxyにあるwsproxyを見つけるには、次のようにします。

path.join(path.dirname(process.execPath), 'wsproxy')
1
A T

Windows 7、8、10 - %USERPROFILE%\ AppData\Roaming\npm\node_modules。

注:cd ..ディレクトリに移動するまで、フォルダのどこかにいる場合はC:と入力します。次に、cd %USERPROFILE%\AppData\Roaming\npm\node_modulesと入力します。そして、魔法のように%USERPROFILE%Users\YourUserProfile\に変わります。最初の回答でDeckoで参照されているアイデアを明確にしたかっただけです。 npm list -gはあなたがグローバルにインストールしたすべてのビットをリストします。プロジェクトに関連するnpm package、次にcd 'your angular project xyz'を見つける必要がある場合は、npm listを実行します。モジュールの一覧がnpm packageに表示されます。また、不足しているdependenciesのリストも表示されるので、そのプロジェクトを効果的に実行する必要があるかもしれません。

0
surendrapanday