45

npmパッケージがまだインストールされていない場合にのみ、パッケージをインストールすることはできますか?

これは、CircleCI でのテストを高速化するために必要ですが、実行するnpm install protractor@2.1.0と、常に最初からダウンロードしてインストールされnode_modulesますが、コマンドを実行した時点で、すべてのモジュールを含むフォルダーが既に存在します (以前のビルドからキャッシュされます) などprotractor --version。パッケージの必要なバージョンを示します。

次のような 1 行のコマンドがあると完璧です。

protractor --version || npm install -g protractor@2.1.0

しかし、パッケージのバージョンもチェックするものです。

4

5 に答える 5

24

あなたができるbashで

[ $(node -p "require('protractor/package.json').version") != "2.1.0" ] && npm install protractor@2.1.0
于 2015-06-05T13:44:20.033 に答える
2
[ $(node -p "try{require('protractor/package.json').version}catch(e){}") != "2.1.0" ]  && npm install grunt
于 2016-05-27T00:48:38.030 に答える