私が実行すると:
npm install my-app
アプリは node_modules/my-app/... にインストールされます
私も試しました
npm install -g my-app
しかし、それもうまくいきません。
モジュールを現在のディレクトリに直接インストールするにはどうすればよいですか?
npm installパッケージをローカルまたはグローバルにインストールします。
npm呼び出さnode_modulesれた既存のフォルダーを探し、そのフォルダーにインストールする各パッケージのフォルダーを作成します。ここで既存のフォルダーが見つからない場合はnode_modules、現在のディレクトリの祖先を見つけられるまで調べます。見つからない場合は、現在のディレクトリに作成されます。-g(global) オプションを使用すると、パッケージはグローバルな場所にインストールされます。この場所は Linux ディストリビューションごとに異なりますが、 /usr/local/lib/node_modules/packagename一例です。CentOS7 は/usr/lib/node_modules/packagename.-gパッケージがコマンドとして使用したいものである場合にのみ使用してください。
グローバル変数が一種のグロスですが、場合によっては必要であるのと同じように、グローバル パッケージは重要ですが、必要がない場合は避けるのが最善です。
一般に、経験則は次のとおりです。
- を使用してプログラムで使用したいものをインストールする場合
require('whatever')は、プロジェクトのルートにローカルにインストールします。- シェルやコマンドラインなどで使用したいものをインストールする場合は、グローバルにインストールして、そのバイナリが
PATH環境変数になるようにします。
npm は、パッケージのファイルを現在のディレクトリに直接インストールしません。
しかし、これは実際には良いことです。依存関係のファイルをアプリとは別に保持し、ノードは何かnode_modulesを実行すると自動的にフォルダーをrequire検索します。