私はVisual Studio Team Servicesのビルドタスクを構築しています。この作業では、linux、mac、windows用に7zipのバイナリをパッケージ化するのに7zip-bin
を使用しています。他のプラットフォームのオプションの依存関係をインストールするためにnpm installを強制します。
ビルドサーバーにpackage.jsonだけをデプロイする機能があればいいですが、ビルドタスクにはビルド時にすべての依存関係が含まれています。
npmがすべてのOSオプションパッケージを何とかダウンロードする方法はありますか?または、ビルド中に自分でファイルをダウンロードして抽出する必要がありますか?今私は、その結果
npm install 7zip-bin --save
使用してい
:
C:\temp>npm install
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected]^1.0.3 (node_modules\7zip-bin\node_modules\7zip-bin-linux):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"linux","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected]^1.0.1 (node_modules\7zip-bin\node_modules\7zip-bin-mac):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
は直接各オプションパッケージをインストールするには、私が上
npm install 7zip-bin-linux --save
を実行すると、ことはできませんWindowsマシンでは、インストールはスキップされ、EBADPLATFORMエラーが発生します。
は、私は私のマシンで実行これらのことはできません理解し、私はvsix
ファイル(見せかけZIP)でそれらをパッケージ化する必要があるので、私のビルドタスクは、これらの他のプラットフォーム上で動作しているとき、私はそれらを使用することができます。
これを実行すると、実際にこれらの3つのうちの1つだけがダウンロードされ、インストールされます(またはインストール時にエラーが発生します)。その結果、 'vsix'は拡張機能が構築されたプラットフォームとのみ互換性があります。 – jessehouwing
ああ、あなたが自分で指定したときはどちらもインストールされていません。しかし、 '-f'または' --force'フラグを使ってインストールを強制することができます:)私は答えを更新しました。 –
ああ!それはうまくいくようです! PS '7zip-bin'は従属パッケージの自動解決を行います。 – jessehouwing