プログラムがアップデートされたことを chocolatey に伝えるにはどうすればいいですか?

プログラムがアップデートされたことを chocolatey に伝えるにはどうすればいいですか?

Choco でプログラム (Paint.Net) をインストールしました。 当時のバージョンは 3.13 でしたが、Paint.Net が 3.15 に自動更新されました。

しかし、 を実行するとchoco outdated、まだ 3.13 がインストールされていると認識され、 3.15 を (再) インストールしようとします。

インストールされたパッケージの choco ローカル データベースの内容を実際の現在のバージョンと同期する方法はありますか?

これはchocoの無料版です。

答え1

このオプションはchocolateyに存在しますが、有料版のみです。 同期コマンド使用方法の詳細については、上記のリンクを参照してください。コマンドの説明ビデオは、 ユーチューブ

Chocolateyは、次のように自動的に同期することもできます。
プログラムと機能との同期 (ライセンス版のみ)


同期を行う無料のchocolatey用プログラムマネージャは、 展開する試してみるといいかもしれません。

緊急の場合、chocolateyに特定のパッケージを更新させたくない場合は、それを無視して、 チョコピンコマンド

インストールスクリプトを実行せずにインストールされたアプリケーションをChocolateyに認識させるには-n、、、、、、 (これらは すべて同じスイッチです) パラメータを使用します--skippowershell--skip-powershell--skipscripts--skip-scripts--skip-automation-scriptsスクリプトを実行せずにパッケージをインストールまたはアップグレードする方法


Linux apt-get に対応する Microsoft の PowerShell に chocolatey をインターフェースすることもできます。 ワンゲットは、パッケージ管理に名前が変更されました。パッケージ マネージャーは Microsoft の名前ですが、基盤となるオープン ソース プロジェクトの名前は引き続き OneGet です。これにより、Windows と chocolatey の両方に対する独自のインターフェイスとして PowerShell を使用できるようになります。

OneGetについてはMicrosoftブログで読むことができます。
PowerShell の新機能: Windows PowerShell 5.0 で 1 行で OneGet を使い始める

OneGetはパッケージマネージャーのマネージャー、パッケージプロバイダーとしてchocolateyをサポートしています。PowerShellでインストールするには、 Find-PackageProvider コマンド:

ここに画像の説明を入力してください

その後、 Install-PackageProvider コマンド chocolatey インターフェースを設定するには (ただし、まだプロトタイプなので、手探りで進める必要があります)。

Install-PackageProvider chocolatey -Scope CurrentUser

以下は、chocolatey ギャラリーから Notepad++ をインストールする PowerShell の例です。

ここに画像の説明を入力してください

以下の参考資料でさらに詳しい情報をご覧いただけます。

答え2

この回答は、次のコマンドの出力に基づいています。

choco outdated

choco outdated コマンドからの出力

別の回答で述べたように、オープンソース版のChocolateyでは、別の方法で更新されたアプリケーションのバージョンに基づいてChocolateyパッケージのバージョンを自動的に更新する方法はありません。ライセンス版のChocolateyでは、特徴利用可能です。

Chocolateyでアプリケーションの初期インストールを行う場合、つまり

choco install paint.net

アプリケーションが自動的に更新されるようにするには、パッケージをピン留めするのが最善のアドバイスです。ピン コマンド。これは次のコマンドで実行されます。

choco pin add -n="paint.net"

これは、コマンドを実行すると、このパッケージを使用していると想定して、新しいバージョンが見つかった場合でも、このパッケージはアップグレードの対象とみなされなくなることを意味しますchoco upgrade all。さらに、コマンドの出力はchoco outdated次のように変わります。

pin コマンド実行後の choco からの出力が古い

レポートからエントリを本当に削除したいchoco outdatedが、アプリケーションの自動更新機能も利用したい場合は、次のコマンドを実行できます。

choco upgrade paint.net --skip-automation-scripts

これにより、Chocolatey はパッケージを現在利用可能なバージョンにアップグレードしますが、chocolateyInstall.ps1 (およびその他のファイル) ファイルの実行も防止されるため、アプリケーション インストーラーは実行されなくなります。次に示すように:

自動化スクリプトをスキップする場合の choco アップグレード コマンドからの出力

上記のコマンドを実行すると、コマンドの出力はchoco outdated次のようになります。

アップグレード後にchocoからの出力が古くなる

関連情報