Home Software Libraries Ruby bundler bundleコマンドの公式マニュアル @wakairo 25 Apr, 2023 06:27 +00:00 Last edited 25 Apr, 2023 06:28 +00:00 bundleコマンドの公式マニュアルは、公式サイトから、 Docs > Reference Guidesで辿ることができる。 例えば、bundle updateのマニュアルはこちら。こちらでは、利用できるオプションについてもきちんと説明されています。 ちなみに、Google検索からでは、なぜか公式マニュアルにたどり着きにくい気がするので、このTopicを立てました。
Home Software Libraries Ruby rails Railsを用いた運用中のサービスのアップグレードの仕方 @wakairo 18 Apr, 2023 02:29 +00:00 Last edited 25 Apr, 2023 04:14 +00:00 まずはRubyをアップグレード 「RubyのアップグレードとRailsのアップグレードは別々に行うのがよい方法です。最初にRubyを可能な限り最新版にアップグレードし、それからRailsをアップグレードします。」 Railsガイドより 次にRailsを1つずつアップグレード 「Railsのバージョンを変更する場合、マイナーバージョンを1つずつゆっくりと上げながら、その都度表示される非推奨機能の警告メッセージを上手に利用するのがベストです。」Railsガイドより 具体的には、以下の手順を繰り返す。 テストを書き、テストがパスすることを確認する。 現時点のバージョンのパッチバージョンを最新のパッチに移行する。 テストを修正し、非推奨の機能を修正する。 次のマイナーバージョンの最新パッチに移行する。 マイナーバージョン以上を上げる場合、Gemfileに記載されているRailsのバージョンを更新した後にbin/rails app:updateを実行して設定等を最新のバージョンに合わせる。参考:1.4 アップデートタスク、1.5 フレームワークのデフォルトを設定する
Home Software Libraries Python Jinja2 用途はHTML出力に限らず・・・ yiskw @yiskw 18 Mar, 2023 05:05 +00:00 HTMLに限らず、様々なドキュメントのレンダリングに利用できる。 私はCソースコードの出力に使っています。
Home Software Windows UniGetUI (formerly WingetUI) パッケージにアップデートがあったときの通知 @wakairo 22 Feb, 2023 14:39 +00:00 Last edited 22 Feb, 2023 14:43 +00:00 WingetUIを以下のように設定することで、インストールしたソフトウェアのパッケージに更新があったときに通知を受け取ることが出来ます。 自動起動させる 1時間毎といった間隔を選んで、インストールしたパッケージにアップデートがあるかどうかを定期的に確認させる アップデートがあったときに通知させる 現在、この通知を有効にしてWingetUIを利用しているのですが、通知を受け取ってから数回の操作でサクッとソフトウェアのアップデートが出来るので便利です。 ただし、wingetを利用し始める前に既にインストールしていたソフトウェアについては、更新の通知を受け取っても、その先がスムーズに進まないことがしばしば起きています。 一度アンインストールしてwingetからインストールし直せば良いのかもしれませんが、データや設定が飛ぶリスクが気になってそう出来ていないソフトが残っています。 まっさらな状態からwingetを使っている場合は、WingetUIの通知機能を使ってソフトを最新に保つことが快適に出来そうですが、後からwingetを使い始めた場合はプッシュ型の通知よりも、自分の都合の良いタイミングでwingetコマンドを叩いた方が良いのかどうか。それとも、今は我慢で、wingetへの対応が進めば個々のアップデートでつまずくことは減っていくのでしょうか?
Home Software Libraries JavaScript qart.js qart.jsで作成したQRコードを紙に印刷して使う場合のノウハウ @wakairo 17 Feb, 2023 13:53 +00:00 QRコードのセル数を少なくするために(つまり、印刷されたときの1つのセルを大きくするために)Versionはできるだけ小さく、また、くっきりと印刷するためにSizeは大きめに設定すると良いようです。 ちなみに、合成したQRコードを家庭用プリンタで縦横4cm弱で印刷しましたが、Versionを10に設定した場合はときどきしか認識に成功しませんでした。そこで、Versionを4に設定したところ、認識率が大分改善しました。
Home Software Windows winget: Windows Package Manager wingetがインストールされているかの確認方法(wingetは、管理者として実行したシェルでないと実行できないことがある) @wakairo 10 Feb, 2023 09:58 +00:00 Last edited 10 Feb, 2023 10:02 +00:00 管理者としてではなく普通に実行したシェルでwingetコマンドが認識されず実行できない問題が解決しましたので、その現象と原因、そして修正方法をこちらにまとめました。 なお、この問題の解決にはkou1okadaさんの情報が大きな助けとなりました。この場を借りて御礼申し上げます。
Home Software Windows winget: Windows Package Manager 管理者としてではなく普通に実行したシェルではwingetコマンドが認識されないときの対処法 @wakairo 10 Feb, 2023 08:51 +00:00 Last edited 11 Feb, 2023 14:11 +00:00 現象 管理者として実行したコマンドプロンプトやPowerShellでは問題なくwingetを利用できる。 しかし、管理者として実行しなかったコマンドプロンプトやPowerShellではwingetが「認識されていません」などとなって実行できない。 原因 環境変数のPathに対応するレジストリの値の種類がREG_SZになっている。 原因がレジストリにあるか確認する方法 PowerShellで以下のコマンドを実行したときの結果を見て、 REG Query HKCU\Environment /V Path 以下のように、Pathの種類がREG_SZとなっている場合は、問題の原因はこのレジストリの設定です。 HKEY_CURRENT_USER\Environment Path REG_SZ C:\foobar;%USERPROFILE%\AppData\Local\Microsoft\WindowsApps 修正方法 このWebページに載っている以下のコマンドを実行します。 if ((gi HKCU:\Environment).GetValueKind("Path") -eq "String") {sp Registry::HKEY_CURRENT_USER\Environment Path (gi HKCU:\Environment).GetValue("Path",$null,"DoNotExpandEnvironmentNames") -Type ExpandString; [Environment]::SetEnvironmentVariable("WM_SETTINGCHANGE","","User")} 修正できたかの確認 PowerShellで、以下のように、先ほどと同じコマンドを実行し、Pathの種類がREG_EXPAND_SZに変わったことを確認します。 PS C:\Users\wakai> REG Query HKCU\Environment /V Path HKEY_CURRENT_USER\Environment Path REG_EXPAND_SZ C:\foobar;%USERPROFILE%\AppData\Local\Microsoft\WindowsApps さらに、管理者として実行していないPowerShellかコマンドプロンプトで以下のコマンドを実行し、バージョンが無事表示されるようになっていれば、修正が出来ています。 winget -v なお、レジストリを変更した後は、念のためコンピュータの再起動をしておいた方が良いかもしません。 謝辞 この問題の解決では、前述のkou1okadaさんのWebページの情報が大きな助けとなりました。この場を借りて御礼申し上げます。
Home Software Windows winget: Windows Package Manager wingetのエラー表示はWingetUIよりも不親切? @wakairo 10 Feb, 2023 02:54 +00:00 Last edited 10 Feb, 2023 02:55 +00:00 アプリケーションの更新が失敗したときやエラーが発生したときの表示がwingetは不親切な気がしています。 wingetでエラーなどが発生したときに、wingetが返したメッセージを読んでも、次にいったいどうすればいいのかよく分からないことが多いように感じています。 それに比べると、WingetUIはwingetよりも関連する情報を多めに出してくれるので、親切な気がします。 wingetでもやりようはあるのでしょうが、ライトユーザーが日常的なメンテナンスをする分には、WingetUIの方が適しているのかもしれません。
Home Software Windows UniGetUI (formerly WingetUI) UniGetUI(旧WingetUI)のインストール @wakairo 10 Feb, 2023 02:42 +00:00 Last edited 10 Jul, 2024 03:50 +00:00 公式のGitHubのREADMEにも書かれていますが、 インストールはPowerShellかコマンドプロンプトで以下のコマンドを実行することで簡単にできます。 winget install --exact wingetui --source winget インストーラーをダウンロードして実行することでもインストールできるようですが、せっかくwingetがパッケージ管理をしてくれるのですから、wingetコマンドからのインストールの方が良さそうな気がします。 なお、2024年7月現在、前述のREADMEでは、インストーラーからのインストールが推奨(recommended)となっています。wingetコマンドからのインストールで問題になることはないと思いますが、winget以外のパッケージ・マネジャーも多数サポートするようになり、利用目的がwinget以外のパッケージ・マネジャーである方への配慮として、推奨をインストーラーにしたのかもしれません。推測ですが。
Home Software Windows winget: Windows Package Manager wingetを利用したアプリのアップデートの仕方 @wakairo 10 Feb, 2023 02:28 +00:00 ちなみに、初めてwinget upgrade --allを実行したときに、エラーが出たり、更新に失敗したりしたアプリケーションがそれなりにありました。 ただ、それらのアプリケーションを1つずつ確認してみると、サポート切れ等で不要となったアプリが大半でしたので、アンインストールすることで大半の問題は解決しました。 また、wingetでインストールしたアプリでない場合は、エラーに関連するものなど一通りをアンインストールした後で、wingetで改めてインストールするというのが有効な場合がありました。
bundleコマンドの公式マニュアル
bundleコマンドの公式マニュアルは、公式サイトから、
Docs > Reference Guides
で辿ることができる。例えば、bundle updateのマニュアルはこちら。こちらでは、利用できるオプションについてもきちんと説明されています。
ちなみに、Google検索からでは、なぜか公式マニュアルにたどり着きにくい気がするので、このTopicを立てました。
Railsを用いた運用中のサービスのアップグレードの仕方
まずはRubyをアップグレード
「RubyのアップグレードとRailsのアップグレードは別々に行うのがよい方法です。最初にRubyを可能な限り最新版にアップグレードし、それからRailsをアップグレードします。」 Railsガイドより
次にRailsを1つずつアップグレード
「Railsのバージョンを変更する場合、マイナーバージョンを1つずつゆっくりと上げながら、その都度表示される非推奨機能の警告メッセージを上手に利用するのがベストです。」Railsガイドより
具体的には、以下の手順を繰り返す。
bin/rails app:update
を実行して設定等を最新のバージョンに合わせる。参考:1.4 アップデートタスク、1.5 フレームワークのデフォルトを設定する用途はHTML出力に限らず・・・
HTMLに限らず、様々なドキュメントのレンダリングに利用できる。 私はCソースコードの出力に使っています。
パッケージにアップデートがあったときの通知
WingetUIを以下のように設定することで、インストールしたソフトウェアのパッケージに更新があったときに通知を受け取ることが出来ます。
現在、この通知を有効にしてWingetUIを利用しているのですが、通知を受け取ってから数回の操作でサクッとソフトウェアのアップデートが出来るので便利です。
ただし、wingetを利用し始める前に既にインストールしていたソフトウェアについては、更新の通知を受け取っても、その先がスムーズに進まないことがしばしば起きています。
一度アンインストールしてwingetからインストールし直せば良いのかもしれませんが、データや設定が飛ぶリスクが気になってそう出来ていないソフトが残っています。
まっさらな状態からwingetを使っている場合は、WingetUIの通知機能を使ってソフトを最新に保つことが快適に出来そうですが、後からwingetを使い始めた場合はプッシュ型の通知よりも、自分の都合の良いタイミングでwingetコマンドを叩いた方が良いのかどうか。それとも、今は我慢で、wingetへの対応が進めば個々のアップデートでつまずくことは減っていくのでしょうか?
qart.jsで作成したQRコードを紙に印刷して使う場合のノウハウ
QRコードのセル数を少なくするために(つまり、印刷されたときの1つのセルを大きくするために)Versionはできるだけ小さく、また、くっきりと印刷するためにSizeは大きめに設定すると良いようです。 ちなみに、合成したQRコードを家庭用プリンタで縦横4cm弱で印刷しましたが、Versionを10に設定した場合はときどきしか認識に成功しませんでした。そこで、Versionを4に設定したところ、認識率が大分改善しました。
wingetがインストールされているかの確認方法(wingetは、管理者として実行したシェルでないと実行できないことがある)
管理者としてではなく普通に実行したシェルでwingetコマンドが認識されず実行できない問題が解決しましたので、その現象と原因、そして修正方法をこちらにまとめました。
なお、この問題の解決にはkou1okadaさんの情報が大きな助けとなりました。この場を借りて御礼申し上げます。
管理者としてではなく普通に実行したシェルではwingetコマンドが認識されないときの対処法
現象
管理者として実行したコマンドプロンプトやPowerShellでは問題なくwingetを利用できる。 しかし、管理者として実行しなかったコマンドプロンプトやPowerShellではwingetが「認識されていません」などとなって実行できない。
原因
環境変数のPathに対応するレジストリの値の種類がREG_SZになっている。
原因がレジストリにあるか確認する方法
PowerShellで以下のコマンドを実行したときの結果を見て、
以下のように、Pathの種類がREG_SZとなっている場合は、問題の原因はこのレジストリの設定です。
修正方法
このWebページに載っている以下のコマンドを実行します。
修正できたかの確認
PowerShellで、以下のように、先ほどと同じコマンドを実行し、Pathの種類がREG_EXPAND_SZに変わったことを確認します。
さらに、管理者として実行していないPowerShellかコマンドプロンプトで以下のコマンドを実行し、バージョンが無事表示されるようになっていれば、修正が出来ています。
なお、レジストリを変更した後は、念のためコンピュータの再起動をしておいた方が良いかもしません。
謝辞
この問題の解決では、前述のkou1okadaさんのWebページの情報が大きな助けとなりました。この場を借りて御礼申し上げます。
wingetのエラー表示はWingetUIよりも不親切?
アプリケーションの更新が失敗したときやエラーが発生したときの表示がwingetは不親切な気がしています。
wingetでエラーなどが発生したときに、wingetが返したメッセージを読んでも、次にいったいどうすればいいのかよく分からないことが多いように感じています。
それに比べると、WingetUIはwingetよりも関連する情報を多めに出してくれるので、親切な気がします。
wingetでもやりようはあるのでしょうが、ライトユーザーが日常的なメンテナンスをする分には、WingetUIの方が適しているのかもしれません。
UniGetUI(旧WingetUI)のインストール
公式のGitHubのREADMEにも書かれていますが、
インストールはPowerShellかコマンドプロンプトで以下のコマンドを実行することで簡単にできます。
インストーラーをダウンロードして実行することでもインストールできるようですが、せっかくwingetがパッケージ管理をしてくれるのですから、wingetコマンドからのインストールの方が良さそうな気がします。
なお、2024年7月現在、前述のREADMEでは、インストーラーからのインストールが推奨(recommended)となっています。wingetコマンドからのインストールで問題になることはないと思いますが、winget以外のパッケージ・マネジャーも多数サポートするようになり、利用目的がwinget以外のパッケージ・マネジャーである方への配慮として、推奨をインストーラーにしたのかもしれません。推測ですが。
wingetを利用したアプリのアップデートの仕方
ちなみに、初めて
winget upgrade --all
を実行したときに、エラーが出たり、更新に失敗したりしたアプリケーションがそれなりにありました。ただ、それらのアプリケーションを1つずつ確認してみると、サポート切れ等で不要となったアプリが大半でしたので、アンインストールすることで大半の問題は解決しました。
また、wingetでインストールしたアプリでない場合は、エラーに関連するものなど一通りをアンインストールした後で、wingetで改めてインストールするというのが有効な場合がありました。