AR ホームベーカリー

オイラのアウトプット用ホームベーカリー!

Ruby

AppleSillicon で古い Ruby を build する その3

せっかくなので、Rails 5.1 の古いプロジェクトで実際に Ruby 2.5 を動かせるか試してみた。 僕の場合の対応なので、個々のプロジェクトでは異なると思いますが、こんな古いバージョン使う以上自己責任だよ自己責任! という気持ちで参考情報として見てくだ…

AppleSillicon で古い Ruby を build する その2

以前、古い Ruby を AppleSillicon な環境でどうするか、みたいなアレ第二弾。 第一弾の時は「ふーんやるじゃん!」みたいな気持ちだったのだけど、いざやってみるとちょっとコツが必要だった。 これまでの流れ donbulinux.hatenablog.jp 素朴にやる 2.5 系…

AppleSillicon で古い Ruby を build する その1

具体的には 2.6 とかそれ以前のあたり。 www.hsbt.org ローカルはめちゃくちゃしていいか〜、と思ってコンテナで頑張ったりしていたんだけど、シュッと確認したいときに rbenv と ruby-build に存在していると楽なので、とりあえずこれでやってみましょう。 続…

Ruby の JIT チューニング

何も考えずに、とりあえず有効化するだけでも恩恵あったので特に何も考えていなかったのだった。 k0kubun.hatenablog.com あ、ありがてぇー。 監視項目を増やしていきましょう。

Ruby のメモリ消費量が増える?

bugs.ruby-lang.org へー、と思いながら見ていた。 Ruby 3.1.5, Ruby 3.2.3 あたりが出たときに修正されるのかな? という感じだったので注意しておきましょう。 (まさにどっちのバージョンも本番運用しているけど、以前のバージョンと比較できる環境がない…

Ruby 2.6 〜 2.7.1 あたりの ProtocRetryError

ロケ地 macOS 13.3.1 Ruby 2.6.5 Gem のメンテナンスに重い腰を上げてるプロジェクトを見てるんだけど、rspec を回していて掲題のエラーに遭遇した。 具体的には bundle exec rspec 実行時の出力に、以下のようになる。 /Users/donbulinux/Workspace/example…

ruby 公式の Docker イメージで jemalloc

パフォーマンスチューニングの値があと一歩伸び悩んでいるので、ふと思い立って jemalloc を導入してみた。 # runtime stage: LD_PRELOAD で jemalloc を指定 FROM ruby:3.1.0-slim-bullseye as app ENV APP=/app \ LANG=C.UTF-8 \ RUNTIME_PACKAGES="tzdata…

M1 mac で rbenv install 3.1.2 が失敗して ld: library not found for -lcapstone

主に 3.1.0, 3.1.1, 3.1.2 あたりだけども。 ※追記:記事の最後に capstone がどこからきたのか、を追記しました。 結論からいうと環境によっては Ruby 3.1.2 など capstone で問題が起きるバージョンは諦めてコンテナとかで動かしましょう。

rbenv で ld: symbol(s) not found for architecture arm64

以前、古いバージョンの Ruby がインストールできない、という記事を書いたが、また遭遇してしまった。 Ruby 2.6.5 である。 donbulinux.hatenablog.jp 今回はプロダクトオーナーでもコーダーでもないので、ガッとパッと環境を更新することができない。 とい…

M1 MacbookPro で Ruby 2.5 とか古い環境を用意する

追記 こちらで書いたけど、 RUBY_CFLAGS="-w" を付与して rbenv install を叩くのが一番ラク、という結論にたどり着いた。 donbulinux.hatenablog.jp 以前の本文 rbenv install で古いバージョンを入れようとするとこうなる (僕の環境の出力)。 ロケ地 MacBo…

CircleCI の MySQL コンテナが落ちた

ロケ地 CircleCI MySQL 5.7.33 CI がコケる ドキュメント更新してシェルスクリプト追加しただけで落ちたので「絶対にワイのせいじゃない!」という顔で details を見てた。 2021-03-19 02:30:57+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Ser…

rbenv のコマンドを何時も忘れてる

以前も書いた気がするけど思い出せないので再度書く 更新 anyenv 利用時 anyenv update 手動で rbenv plugin として入れている時 github.com インストール可能なバージョン一覧の表示 よく忘れるやつ、最近の rbenv で --list-all オプションに変わったんだ…

URI.encode した日本語ファイルへのアクセスで ActionController::RoutingError が発生する

タイトルがすべてって感じです (しろめ) 。 日本語ファイルにアクセスすると死ぬ public 以下に配置した /doc/テスト2017.pdf みたいな日本語ファイルにアクセスすると ActionController::RoutingError が発生して死ぬ。 Ruby 2.5.1 Rails 5.1.7 Passenger 5…

Ruby こわれる〜 (二度目

こいついつも壊してんな? という感じですが言い訳させてください! MacBookPro の USB-C ポート奥側が反応しなくなって GeniusBar に修理出したら IO ポート交換だったんです! 事前チェックでディスクの初期化されて TimeMachine から環境復活させて壊れた…

Ruby こわれる〜

rbenv + ruby-build を anyenv 経由でインストールしているのだけれど、 OpenSSL のライブラリを Homebrew でインストールされるものを見ているため、うっかり brew upgrade で依存関係から OpenSSL が更新されると、 Ruby 処理系がまるごと壊れて気絶してし…

gem pristine

直近で何の作業をしたのが引き金だったのかわかっていないのですが、 rails s したときに以下のメッセージが出るようになってしまいました、 Ignoring jaro_winkler-1.5.2 because its extensions are not built. Try: gem pristine jaro_winkler --version …

Capistrano3 で複数のデプロイ先を設定する

といっても、 config/deploy/production.rb に複数 server を書いて、物理的に別のサーバにデプロイする、とかいうやつじゃないです。 複数の deploy_to を設定する これ、1つのサーバに複数のデプロイ先を用意します。 どういう時に必要かというと、1ソー…

rvmをrvmrcに登録しておく

今更rvmかよ と思われるだろうけど、触る機会があったので。 特定のバージョンのrubyを特定のディレクトリ以下で使う、ついでにgemsetで縛っておく。 Ruby1.9.2 /path/to/app/ gemset gems rubyのインストール rvm install 1.9.2 rvm use 1.9.2 gemsetの作成…

rbenv + ruby-build 環境で今更 ruby 1.8.7 を用意する

諸事情によりこのバージョンとあと 10 年は付き合う可能性が出てきたので……。モンキーパッチ職人となる可能性すらある(しろめ)。 今回は MacOSX 10.11.3 ( El Capitan ) で rbenv と ruby-build 導入済みの環境で作業しますた。Linux 版は後日改めて書く予…