📌

chocolateyでインストールしたソフトウェアを特定のバージョンに固定する

2022/07/12に公開約1,300字

環境

Windows 11

経緯

ローカル環境でRadisを使ったプロジェクトの開発を行おうとし、chocolateyを使ってRadisを導入してみたものの上手くデータの読み書きができない…。
確認してみると、特定のバージョン以降での動作に変更があり動かないことが分かったので、Radisのバージョンを固定にする必要が出た。

ということで、chocolateyでインストールしたソフトウェアのバージョンを固定することができれば今回のゴールになります。

結果

chocolateyにはバージョンを固定するための機能としてpinが用意されています。
https://docs.chocolatey.org/en-us/choco/commands/pin

pinを使うことによって、chocolatey upgrade all -yを実行した場合でも勝手にアップグレードされることが無くなります。

説明

今回は例としてRadis(64bit)を取り上げて説明します。
https://community.chocolatey.org/packages/redis-64

指定できるバージョンについては、各ソフトウェアのページにあるVersion Historyから確認できます。

インストール時のバージョン指定

インストール時には以下の方法でバージョンを指定することができます。

コマンドの場合

choco install redis-64 --version=3.0.501

configファイルの場合

<?xml version="1.0" encoding="utf-8"?>
<packages>
    <!-- Redis3.0の最終版 -->
    <package id="redis-64" version="3.0.501" />
</packages>

ソフトウェアのバージョンを固定

pin addからバージョンの固定を行います。

choco pin add --name="'redis-64'" --version="'3.0.501'"

pinに追加されたソフトウェアの一覧はpin listから確認することができます。

chocolatey pin list

こんな感じで出力されます。

redis-64|3.0.501

pinを外したい時はpin removeを実行します。

choco pin remove --name="'redis-64'"

感想

環境によってバージョンを固定しなければならないソフトウェアは様々な理由で存在すると思います。
(必ず最新版が安心安全で使いやすい、とかそんなことはない)

必要に応じてバージョンを固定することで、安定した開発環境を目指していきましょう。

GitHubで編集を提案

Discussion

ログインするとコメントできます