グローバルに利用可能な依存関係がローカルに再インストールされないように package.json を構成する方法は?
たとえば、jshint が dev-dependency としてリストされているプロジェクトがあります。しかし、私はすでに jshint をグローバルにインストールしており、このモジュールでグローバル jshint を使用したいと考えています。
グローバルに利用可能な依存関係がローカルに再インストールされないように package.json を構成する方法は?
たとえば、jshint が dev-dependency としてリストされているプロジェクトがあります。しかし、私はすでに jshint をグローバルにインストールしており、このモジュールでグローバル jshint を使用したいと考えています。
何をしようとしているのかはわかりませんが、いずれにせよ、コードでグローバルな依存関係を使用することは推奨される方法ではありません。
情報を取得するには、次のように入力npm help folders
します。tl;dr の部分は次のとおりです。
- ローカル インストール (デフォルト): 現在のパッケージ ルートの ./node_modules に入れます。
- グローバル インストール (-g を使用): /usr/local またはノードがインストールされている場所に配置します。
- require() する場合は、ローカルにインストールしてください。
- コマンドラインで実行する場合は、グローバルにインストールしてください。
- 両方が必要な場合は、両方の場所にインストールするか、npm リンクを使用します。
したがって、あなたの場合、最後の項目link
が答えです: https://docs.npmjs.com/cli/link。
npm link jshint
ベースフォルダーで実行する必要があります。node_modules/jshint をグローバル モジュールにリンクします。require()
これにより、バイナリ ファイルへのシンボリック リンクが作成されますが、コードのどこかで使用することはできません。上で説明したように、グローバル パッケージはコマンド ラインで実行されるため、バイナリ ファイルです。