を使用して、同じモジュールの複数のバージョンをnode
グローバルにインストールできますnpm
か?
3 に答える
これを行う(良い)方法はないと思います。
ただし、ユースケースは次のとおりだと思います。グローバルにインストールされたパッケージの異なるバージョンを必要とする 2 つのプロジェクトがあります。
このような場合、私は通常、パッケージをグローバルにインストールすることを避け、代わりにローカルにインストールします (.xml なしで-g
)。たとえば、特定のプロジェクトの「mocha」パッケージの特定の古いバージョンをインストールする場合は、次のようにします。
cd ~/src/myproject
npm install --save-dev mocha@^1.0.0
(ここでは使用していないことに注意してください-g
。) 次に、次のように呼び出します。
./node_modules/.bin/mocha
可能ですが、独自のスクリプトを作成して管理しないと維持するのはおそらく難しいでしょう。このために、MacOS または Linux を使用していて、ノードがインストールされていると仮定します。/usr/local/bin
グローバル モジュールをインストールすると、npm はモジュールとその依存関係をノードがインストールされているのと同じ場所に配置します。通常/usr/local/lib/node_modules
、 はそのモジュールのシンボリック リンクを に作成します/usr/local/bin
。
たとえば、nodemon をインストールする場合は、npm install -g nodemon
. npm は nodemon をインストールし、そのポイントに/usr/local/lib/node_modules/nodemon
シンボリック リンクを作成します。/usr/local/bin/nodemon
/usr/local/lib/node_modules/nodemon/bin/nodemon.js
nodemon@1.8.1 をインストールしたばかりで、何らかの理由で nodemon@1.7.3 も必要だとします。
両方を一度にインストールするが、競合しないようにするには、次のことができる場合があります。
- nodemon の既存のコピーのディレクトリの名前を から に変更します
nodemon
。nodemon18
- を使用して新しい
nodemon18
シンボリックリンクを作成しますln -s /usr/local/bin/nodemon18 /usr/local/lib/node_modules/nodemon/bin/nodemon.js
(実行可能にすることを忘れないでください) - nodemon@1.7.3 をインストールします
npm install -g nodemon@1.7.3
ここで、nodemon
ターミナルから実行すると nodemon@1.7.3 が実行され、実行すると nodemon@1.8.1nodemon18
が実行されます。
YMMV。これを行うことは本当にお勧めしません。