2016-08-08 5 views
2

私は、ビルドスクリプトを書いているし、それは次のようにコマンドを実行します:npmパッケージは、まだインストールされていない場合にのみグローバルにインストールするには?

  • npm install bower -g
  • npm install gulp -g

彼らはすでにされている場合でも、私のマシン上で周りに30〜60秒かかりますこれらのパッケージをインストールしますインストールされている(例えば、ビルドスクリプトの以前の実行からインストールされた)。

は私がまたは一気が既にインストールされているかどうかを検出し、その場合には、ビルド時にいくつかの時間を節約するためにインストールをスキップする方法がある可能性が考えていました。

可能なことはありますか?どうすればいい?私はWindowsとPowerShellを使用していますが、私はbashで、いくつかのソリューションをWindowsに移植することができるかもしれないと仮定し

...

+0

バージョンの一致を判断しようとしている場合を除いて、あなたの質問に直接答えはありませんが、既にマシンに入っている場合は30〜60秒かかることはありません。 package.jsonとbower.jsonのバージョンを明示的に使用している場合は、新しいバージョンがあるかどうかを確認するためにレジストリにヒットする必要はありません。 – Paul

+0

@Paul:応答に感謝します。私は、package.jsonがグローバルインストールで使用されていないと思っていました。私は実際に私のpackage.jsonファイルにbowerがリストされているとは思わない。また、bower.jsonはこれに関連していません。これはnpmがインストールされているからです... –

+0

よろしくお願いします。したがって、グローバルインストールに使用されていない.jsonファイルについてはあなたが正しいです、残念です。つまり、私のコメントは、あなたがインストールを実行しているコマンドで特定のバージョンを使用しているということです。 – Paul

答えて

2

win7の+上では使用することができますwhere <command>例えば

+0

ありがとうございます、かなりうまくいきます。また、PowerShellを使用しているときに 'Get-Command'を使用する方法もあります。 –

関連する問題