2 マニュアルについてゴクリまず gulp をグローバルに (-g フラグ付きで) インストールし、次にもう一度ローカルにインストールする必要があると言われています。なぜこれが必要なのでしょうか?
ベストアンサー1
ツールをグローバルにインストールすると、ユーザーはそれをコマンド ライン ユーティリティとして使用できるようになります (ノード プロジェクトの外部を含む)。ノード プロジェクトのグローバル インストールは、展開が困難になるため、適切ではありません。
5.2以上
のnpx
にバンドルされている ユーティリティがnpm
5.2
この問題を解決します。これを使用すると、グローバルにインストールされたユーティリティと同様に、ローカルにインストールされたユーティリティを呼び出すことができます (ただし、コマンドは で始める必要がありますnpx
)。たとえば、ローカルにインストールされた を呼び出す場合はeslint
、次のようにします。
npx eslint .
npm < 5.2
script
package.json のフィールドで使用すると、ツールとグローバルにインストールされたモジュールnpm
が検索されるため、ローカル インストールで十分です。node_modules
したがって、(package.json で)次の内容に満足している場合は、
"devDependencies": {
"gulp": "3.5.2"
}
"scripts": {
"test": "gulp test"
}
などを実行していれば、npm run test
グローバル インストールはまったく必要ありません。
sudo
どちらの方法も、 は必要ないので、プロジェクトをセットアップする人を集めるのに役立ちます。またgulp
、package.json のバージョンが上がると も更新されるため、プロジェクトの開発時に全員が同じバージョンの gulp を使用することになります。
補遺:
gulp は、グローバルで使用すると異常な動作をするようです。グローバル インストールとして使用すると、gulp は制御を渡すためにローカルにインストールされた gulp を探します。したがって、gulp のグローバル インストールが機能するには、gulp のローカル インストールが必要です。ただし、上記の回答は変わりません。ローカル インストールは常にグローバル インストールよりも優先されます。