サブジェクトをググるのが難しい — ユーザーからの質問が多すぎます。私の質問はパッケージ開発に関するものです。グローバルではなくインストールするときに、パッケージのユーザーに「npm WARN prefer global」が表示されるようにします。
以前はそのような警告があると思っnpm install yo
ていましたが、今はありません。少なくとも私には見えません。
私の環境:
› npm --version
1.4.10
› node -v
v0.10.28
サブジェクトをググるのが難しい — ユーザーからの質問が多すぎます。私の質問はパッケージ開発に関するものです。グローバルではなくインストールするときに、パッケージのユーザーに「npm WARN prefer global」が表示されるようにします。
以前はそのような警告があると思っnpm install yo
ていましたが、今はありません。少なくとも私には見えません。
私の環境:
› npm --version
1.4.10
› node -v
v0.10.28
Ben Fortune の回答では、npm パッケージの作成者がパッケージをグローバルインストールを優先するように指定する方法を指定しています(ファイルにキーと値"preferGlobal": true
のペアを追加することによりpackage.json
)。
悲しいことに、OP 自身がコメントで指摘しているように、これは、そのようなパッケージをローカルにインストールするユーザーに対して常に警告をトリガーするには十分ではありません。
npm 2.3.0 の時点で、global-installation-preferred パッケージをローカルにインストールするときの動作は次のとおりですnpm install <pkgName>
(つまり、を使用せずに-g
):
警告 - npm WARN prefer global <pkgName>@<ver> should be installed with -g
- は、次の場合にのみトリガーされます。
package.json
ファイルがあり、dependencies
and/oroptionalDependencies
キーを含む - 手元のパッケージがたまたまそこに含まれている場合を除きます。実用的には、これは、次のシナリオで実行中(つまり、なし) に警告が表示されないことを意味しますnpm install <pkgName>
-g
。
package.json
ファイルなし)。dependencies
および/またはoptionalDependencies
キーなし - 対照的に、キーdevDependencies
および/またはpeerDependencies
単独では警告はトリガーされません)。pkgName
(定義によりローカルの)ランタイム依存関係としてすでにインストールされている npm package-project ディレクトリに(キーdependencies
またはでoptionalDependencies
)。--loglevel silly
Even はこの動作を変更しないことに注意してください。そのため、現在、無条件で警告を表示する方法はありません。
ただし、パッケージをグローバルとして指定すると、無条件の副作用が 1 つあります。npm レジストリ ( http://npmjs.com ) では、そのようなパッケージの右側のサイドバーに表示されるインストール コマンドはnpm install <pkgName> -g
; つまり、-g
.
[更新: この機能はしばらく前に機能しなくなり、2015 年 9 月 14 日現在も機能していません - https://github.com/npm/newww/issues/1017を参照してください]