Ubuntu にて rbenv で 3.3.1 のインストールでエラーがでたので --with-baseruby で対処した

状況

現状の Ruby が 3.3.0 の状況において $ rbenv install 3.3.1 を実行するとエラーが出て、以下のようなログが出ました。

1727 make[2]: ディレクトリ '/tmp/ruby-build.20240424104050.96605.DfIbDe/ruby-3.3.1/ext/ripper' から出ます
1728 make[2]: ディレクトリ '/tmp/ruby-build.20240424104050.96605.DfIbDe/ruby-3.3.1' に入ります
1729 tool/file2lastrev.rb:6:in `require': cannot load such file -- optparse (LoadError)
1730 »-from tool/file2lastrev.rb:6:in `<main>'
1731 ./tool/file2lastrev.rb:6:in `require': cannot load such file -- optparse (LoadError)
1732 »-from ./tool/file2lastrev.rb:6:in `<main>'
1733 make[2]: *** [uncommon.mk:1322: .revision.time] エラー 1
1734 make[2]: ディレクトリ '/tmp/ruby-build.20240424104050.96605.DfIbDe/ruby-3.3.1' から出ます
1735 make[1]: *** [exts.mk:99: ruby] エラー 2
1736 make[1]: ディレクトリ '/tmp/ruby-build.20240424104050.96605.DfIbDe/ruby-3.3.1' から出ます
1737 make: *** [uncommon.mk:397: build-ext] エラー 2
1738 external command failed with status 2

どうしたか

環境変数 RUBY_CONFIGURE_OPTS="--with-baseruby=$HOME/.rbenv/versions/3.2.3/bin/ruby" を付与して実行したところ、インストールが正常に終了しました。3.2.3 というのは適当に入れた値です*1

$ RUBY_CONFIGURE_OPTS="--with-baseruby=$HOME/.rbenv/versions/3.2.3/bin/ruby" rbenv install 3.3.1
==> Downloading ruby-3.3.1.tar.gz...
-> curl -q -fL -o ruby-3.3.1.tar.gz https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.1.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 21.0M  100 21.0M    0     0  30.5M      0 --:--:-- --:--:-- --:--:-- 30.5M
==> Installing ruby-3.3.1...
-> ./configure "--prefix=$HOME/.rbenv/versions/3.3.1" --enable-shared --with-ext=openssl,psych,+ "--with-baseruby=$HOME/.rbenv/versions/3.2.3/bin/ruby"
-> make -j 20
-> make install
==> Installed ruby-3.3.1 to /home/foobar/.rbenv/versions/3.3.1

参考的なもの

github.com

*1:もちろん、あらかじめインストールされている必要があります

GA4 の API にて カスタムイベント の値を取得する場合には

結論

以下の画像における「ユーザープロパティ / パラメータ」の値を用います。「ディメンション名」ではないです*1

gyazo.com

たとえば、

  • 「ディメンション名」が hoge であり、
  • 「ユーザープロパティ / パラメータ」の値が fuga の場合

は、API のリクエストにおけるディメンション名は customEvent:fuga になります。

*1:ただし「探索」におけるディメンション名は「ディメンション名」になる

漢字を平仮名に一括変換する際には ExcelAPI が便利

結論

excelapi.org

具体例

たとえば以下の URL にアクセスするとテキストで返ってきます(漢字部分は「織田信長」)。 - https://api.excelapi.org/language/kanji2kana?text=%E7%B9%94%E7%94%B0%E4%BF%A1%E9%95%B7

補足

ExcelAPI という名前ですが、単純な API として用いても OK とのことです。

excelapi.org

Yahoo! に同様の API がありますが、それをラップしたもののようです*1

注意点

1分間に300件までのレートリミットがあります。

*1:Yahoo! のものをそのまま扱おうとすると、戻り値が独特で扱いづらい

ファイルの読み込みロジックで Mac では OK でも Linux では NG の場合にチェックすべきこと

結論

Mac が「大文字小文字を区別しない」からではないか。

Mac が設定上で「区別しない」場合には、 Linux では該当ファイルが見つからないことになるから。

具体例

ls コマンドを実行した場合の具体例。

Linux

gyazo.com

macOS

gyazo.com

参考

dev.classmethod.jp

補足

めちゃくちゃハマったが、この知見はきっと活きる。

Powered by はてなブログ