15

を使用して、同じモジュールの複数のバージョンをnodeグローバルにインストールできますnpmか?

4

3 に答える 3

4

これを行う(良い)方法はないと思います。

ただし、ユースケースは次のとおりだと思います。グローバルにインストールされたパッケージの異なるバージョンを必要とする 2 つのプロジェクトがあります。

このような場合、私は通常、パッケージをグローバルにインストールすることを避け、代わりにローカルにインストールします (.xml なしで-g)。たとえば、特定のプロジェクトの「mocha」パッケージの特定の古いバージョンをインストールする場合は、次のようにします。

cd ~/src/myproject
npm install --save-dev mocha@^1.0.0

(ここでは使用していないことに注意してください-g。) 次に、次のように呼び出します。

./node_modules/.bin/mocha
于 2015-10-15T20:08:36.923 に答える
2

可能ですが、独自のスクリプトを作成して管理しないと維持するのはおそらく難しいでしょう。このために、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 も必要だとします。

両方を一度にインストールするが、競合しないようにするには、次のことができる場合があります。

  1. nodemon の既存のコピーのディレクトリの名前を から に変更しますnodemonnodemon18
  2. を使用して新しいnodemon18シンボリックリンクを作成しますln -s /usr/local/bin/nodemon18 /usr/local/lib/node_modules/nodemon/bin/nodemon.js(実行可能にすることを忘れないでください)
  3. nodemon@1.7.3 をインストールしますnpm install -g nodemon@1.7.3

ここで、nodemonターミナルから実行すると nodemon@1.7.3 が実行され、実行すると nodemon@1.8.1nodemon18が実行されます。

YMMV。これを行うことは本当にお勧めしません。

于 2016-01-22T20:20:49.077 に答える