できない理由
npm install packageName -g
npmjs.com のように表示することはできません。モジュールをグローバルとして使用するよう人々に強制することはできません。実際、npm は必要でない限りグローバル モジュールの使用を推奨していません。
グローバル変数が一種のグロスですが、場合によっては必要であるのと同じように、グローバル パッケージは重要ですが、必要がない場合は避けるのが最善です。
さらに、他のサーバーなどにデプロイしている場合、パッケージのバージョンをフリーズするために、グローバル モジュールでさえローカルで使用されます。
たとえば、テスト カバレッジにistanbulを使用すると、パッケージをグローバルに使用でき、簡単に入力できますが、istanbulistanbul test
をローカルにインストールすると、更新に関係なく機能し続けるために、 package.jsonファイルのバージョンがフリーズします。
ローカルにインストールして書き込みますnode node_modules/istanbul/index.js test
イスタンブールは、ここでの使用例にすぎません。
警告を表示する::preferGlobal
パッケージが主に、グローバルにインストールする必要があるコマンドライン アプリケーションである場合は、この値を true に設定して、ローカルにインストールされている場合に警告を出します。
ユーザーがローカルにインストールすることを実際に妨げるものではありませんが、期待どおりに動作しない場合の混乱を防ぐのに役立ちます。
でも
ローカルにインストールするときに警告をトリガーするpreferGlobal: true
のに十分ではありません。
メッセージを取得するには、次のチェックリストを確認する必要があります。
有効な package.json ファイル。
dependencies
ファイルにオブジェクトが含まれていpackage.json
ます (空であっても)
次の場合、このメッセージは表示されません。
npm 以外のプロジェクトにいる場合 ( はありませんpackage.json
)。
パッケージがローカル依存関係として既にインストールされている npm package-project ディレクトリにいる場合。
ソース:
https://stackoverflow.com/a/28206992/5384679
https://github.com/npm/npm/issues/11652
https://nodejs.org/en/blog/npm/npm-1-0-global-vs-local-installation/