メンテナンス停止したRubyライブラリに対応する

はじめに

この記事は自分向けのメモ。

というより、このサイトは自分向けのメモ書きを公開して、誰かの役に立ったらラッキーという立ち位置。

日々、Rubyを利用しているからにはgemぐらいはいろいろ知ったほうがいいとのことで、その勉強のため。

ついでに、CI環境も構築して、限りなく省力化できればという感じ。

前提条件

  • 対象のライブラリはRubyライブラリ(gem)。
  • ローカル環境はUbuntu(WSL / Windows)。

環境準備

Rubyのバージョン管理を実施できるようにする

rbenvをインストールする。

rbenv/rbenv: Manage your app’s Ruby environment

shi-tak@shi-tak:~$ git clone https://github.com/rbenv/rbenv.git ~/.rbenv
Cloning into '/home/shi-tak/.rbenv'...
remote: Enumerating objects: 3411, done.
remote: Counting objects: 100% (285/285), done.
remote: Compressing objects: 100% (123/123), done.
remote: Total 3411 (delta 227), reused 162 (delta 162), pack-reused 3126 (from 5)
Receiving objects: 100% (3411/3411), 729.20 KiB | 6.69 MiB/s, done.
Resolving deltas: 100% (2091/2091), done.
shi-tak@shi-tak:~$ ~/.rbenv/bin/rbenv init
writing ~/.bashrc: now configured for rbenv.
shi-tak@shi-tak:~$ exec $SHELL -l
shi-tak@shi-tak:~$ rbenv -v
rbenv 1.3.2-10-gd1a19a3

ruby-buildも追加しておく。

rbenv/ruby-build: A tool to download, compile, and install Ruby on Unix-like systems.

※関連パッケージもインストールする。

Home · rbenv/ruby-build Wiki

shi-tak@shi-tak:~$ sudo apt-get install build-essential autoconf libssl-dev libyaml-dev zlib1g-dev libffi-dev libgmp-dev rustc
[sudo] password for shi-tak: 
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
~~~
~~~
shi-tak@shi-tak:~$ git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build
Cloning into '/home/shi-tak/.rbenv/plugins/ruby-build'...
remote: Enumerating objects: 17185, done.
remote: Counting objects: 100% (4169/4169), done.
remote: Compressing objects: 100% (304/304), done.
remote: Total 17185 (delta 4053), reused 3871 (delta 3864), pack-reused 13016 (from 5)
Receiving objects: 100% (17185/17185), 3.43 MiB | 12.68 MiB/s, done.
Resolving deltas: 100% (12080/12080), done.
shi-tak@shi-tak:~$ git -C "$(rbenv root)"/plugins/ruby-build pull
Already up to date.
shi-tak@shi-tak:~$ "$(rbenv root)"/plugins/ruby-build/bin/ruby-build --version
ruby-build 20250829

rubyをインストールする。ライブラリの開発に必要なバージョンを入れとく。複数バージョンを入れている場合には、rbenv global {{バージョン}}などでバージョンを切り替える。

shi-tak@shi-tak:~$ rbenv install 3.0.7
==> Downloading openssl-1.1.1w.tar.gz...
~~~~
~~~~

GitHub Actionをローカル環境で実行できるようにする

nektos/act: Run your GitHub Actions locally 🚀

GitHub CLIをインストール

shi-tak@shi-tak:~$ sudo snap install gh
[sudo] password for shi-tak: 
gh 2.74.0-19-gea8fc856e from Casper (casper-dcl) installed
shi-tak@shi-tak:~$ gh version
gh version 2.74.0-19-gea8fc856e (2025-06-09)
https://github.com/cli/cli/releases/latest

GitHub CLIでユーザー認証する

shi-tak@shi-tak:~$ gh auth login
? Where do you use GitHub? GitHub.com
? What is your preferred protocol for Git operations on this host? HTTPS
? Authenticate Git with your GitHub credentials? Yes
? How would you like to authenticate GitHub CLI? Login with a web browser

! First copy your one-time code: XXXX-XXXX
Press Enter to open https://github.com/login/device in your browser... 
✓ Authentication complete.
- gh config set -h github.com git_protocol https
✓ Configured git protocol
! Authentication credentials saved in plain text
✓ Logged in as shi-tak

actをGitHub CLIの拡張機能としてインストール

shi-tak@shi-tak:~$ gh extension install https://github.com/nektos/gh-act
✓ Installed extension https://github.com/nektos/gh-act
shi-tak@shi-tak:~/shi-tak/configatron$ gh act --version
act version 0.2.81

※pushイベントでActionが起動するならば、gh act pushで実行可能。

リポジトリ

GitHubでライブラリのリポジトリをフォークする。

フォークしたライブラリを修正する。

  • リポジトリのAboutからフォーク元のリンクを除外。
  • READMEもリンクなどを新しいライブラリのものに変更。
  • ライセンスに自分のコピーライトを追記。
  • リポジトリの設定を変更。

※引き続き、更新していきます。


コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です