Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PmRails

 PmRails

様々なバージョンでのrailsコマンド実行を容易にするツール
であるPmRailsについてのShinjuku.rb #97でのLTの資料です。
GitHub: https://github.com/wakairo/pmrails
TechTipsのサポートページ: https://www.techtips.page/ja/items/514

Joji Wakairo

January 30, 2025
Tweet

More Decks by Joji Wakairo

Other Decks in Programming

Transcript

  1. 若色 譲二 ⚫ SNSアカウント ⚫ Bluesky: @picolab.bsky.social ⚫ 旧Twitter: @PICOLABofficial

    ⚫ ソフト関連の技術クチコミサイト TechTipsを開発・運営しています。 ⚫ https://techtips.page/ ⚫ このサイトの開発でRuby on Railsを 使っています。 2 自己紹介
  2. ⚫最新(latest)のRubyバージョンでスクリプトを実行 podman run -it --rm -v "$PWD":/x -w /x ruby:latest

    ruby foo.rb ⚫Ruby 3.2でRails 7.2のアプリをnew podman run -it --rm -v "$PWD":/x -w /x ruby:3.2 sh -c "gem install rails -v 7.2 && rails new sample_app --skip-bundle" バージョンを指定した上で、様々なことが一行で可能 6 Podmanの活用例
  3. ⚫ pmrails: bin/railsのラッパーとして、Railsコマンドを実行 使用方法: pmrails COMMAND [OPTIONS] ⚫ pmrails-new: bin/rails

    newのラッパーとして、新しいRailsアプ リを作成 使用方法: pmrails-new RAILS_VERSION APP_PATH [OPTIONS] ⚫ pmrailsenvexec: コンテナ環境内で任意のコマンドを実行 使用方法: pmrailsenvexec COMMAND [OPTIONS] ⚫ pmbundle: bundleのラッパーとして、Gemを管理 使用方法: pmbundle [BUNDLE_ARGS] 4つのコマンドでrails開発を広くカバー 7 PmRailsの概要
  4. ⚫Railsバージョン8.0で新しいRailsアプリを作成 pmrails-new 8.0 sample_app --skip-bundle ⚫作成したアプリケーションのディレクトリに移動 cd sample_app ⚫Bundlerを実行してGemをインストール pmbundle

    install ⚫サーバーを起動 pmrails server -b 0.0.0.0 ⚫ウェブブラウザでhttp://localhost:3000/にアクセス Railsアプリの作成からサーバ起動まで 8 PmRailsの利用例
  5. ⚫ 「バグっぽい」や 「使いづらい」と いった ちょっとした こともお気軽にお寄 せくだい。 ⚫ https://www.techtips. page/ja/items/514

    ⚫ 新しいTopicを立てて お伝えいただいて問題 ありません ご意見・ご要望などはTechTipsまで 9 PmRailsのサポート
  6. (参考)イメージが見つからないとエラーになったら 11 ⚫ 以下のようなエラーが発生した場合には、設定の追加が必要 Error: short-name "ruby:latest" did not resolve

    to an alias and no unqualified-search registries are defined in "/etc/containers/registries.conf" ⚫ 具体的には、エラーメッセージ内で示されている /etc/containers/registries.confに、以下の1行を追加すればOK unqualified-search-registries = ["docker.io"]