Chocolateyのススメと自動アップグレードバッチ

公開日:2019-07-18
最終更新:2019-07-18

パッケージ管理ソフトって昔からUnix系OSではあった(らしい)けど、Windowsでは最近やっと流行り始めた?かと思います。
で、おそらく普及していそうなのがChocolatey(コマンド:choco)というパッケージ管理ソフト。名前が可愛いですね。

色々といいことがあるけど、特にいいと思っているんことはアップグレードがコマンドでできることです。つまり、バッチを作っておけば一括アップグレードができるわけですね。怠惰なオイラに最適。

アップグレードをバッチ化する

ということでアップグレード用のバッチupgrade.batを作成。

where /Q choco  
if errorlevel 1 goto END_CHOCO  
:: chocolatey本体のアップデート  
choco upgrade chocolatey -y  
:: chocolateyのすべてのパッケージのアップデート  
choco upgrade all -y  
:END_CHOCO  

ただし、chocoコマンドは管理者権限でないと途中でエラーが出ます。
そこで同じフォルダにupgrade_as_admin.batを作りました。

set PROGRAM_PATH=%~dp0  
powershell start-process "%PROGRAM_PATH%upgrade.bat" -verb runas  

管理者で実行するか聞かれるので、はいと答えればOKです。

おまけ

プログラミング言語には大抵ライブラリ等の管理用にパッケージ管理コマンドがついています。一緒にアップグレードできれば楽です。
upgrade.batにHaxeとPythonのパッケージ管理コマンドも追加しておきました。

where /Q choco  
if errorlevel 1 goto END_CHOCO  
:: chocolatey本体のアップデート  
choco upgrade chocolatey -y  
:: chocolateyのすべてのパッケージのアップデート  
choco upgrade all -y  
:END_CHOCO  

where /Q haxelib  
if errorlevel 1 goto END_HAXELIB  
:: haxelib本体のアップデート  
haxelib --global --always -notimeout update haxelib  
:: haxelibのすべてのパッケージのアップデート  
haxelib --always -notimeout upgrade  
:: Anaconda本体のアップデート  
:END_HAXELIB  

where /Q python  
if errorlevel 1 goto END_PYTHON  
python -m pip install --upgrade pip  
:: pipのすべてのパッケージのアップデート  
python -m pip freeze > requirements.txt  
python -m pip install -r requirements.txt --upgrade  
del requirements.txt  
:END_PYTHON  

まとめ

パッケージ管理ソフトを導入するとアップグレードが自動でできます。時短におすすめ。

あとオイラは甘すぎるものは苦手なんでチョコはちょっと…

記事が少しでもいいなと思ったらクラップを送ってみよう!
0
+1
常時省電力モードで情報技術のことを中心にメモしていきます。

よく一緒に読まれている記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる

技術ブログをはじめよう

Qrunch(クランチ)は、ITエンジニアリングに携わる全ての人のための技術ブログプラットフォームです。

技術ブログを開設する

Qrunchでアウトプットをはじめよう

Qrunch(クランチ)は、ITエンジニアリングに携わる全ての人のための技術ブログプラットフォームです。

Markdownで書ける

ログ機能でアウトプットを加速

デザインのカスタマイズが可能

技術ブログ開設

ここから先はアカウント(ブログ)開設が必要です

英数字4文字以上
.qrunch.io
英数字6文字以上
ログインする