概要
画像を読むこむアプリケーションを作成しようとして、ImageMagickを導入した。
その後、Gemfileで「mini_magick」などを追記して「bundle install」を実行したところ
No such file or directoryとなってしまった。
事象
① まず、ImageMagickをHomebrewでインストールする。
username@MacBookAir ~ % brew install imagemagick
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/core).
==> New Formulae
aws-sso-util git-cliff libavif python-tk@3.10
ca-certificates git-credential-libsecret lilypond python@3.10
clickhouse-cpp gomodifytags lunzip texlive
clickhouse-odbc gotests lziprecover viddy
cmake-docs k2tf neovim-qt
cyral-gimme-db-token lastz openssl@3
==> Updated Formulae
Updated 658 formulae.
==> Deleted Formulae
ocamlsdl
==> Downloading https://ghcr.io/v2/homebrew/core/libpng/manifests/1.6.37
######################################################################## 100.0%
・
(省略)
・
==> Upgrading 5 dependents:
nghttp2 1.44.0 -> 1.45.1, node 16.9.1 -> 16.10.0, rbenv 1.1.2 -> 1.2.0, ruby-build 20210825 -> 20210928, yarn 1.22.11 -> 1.22.15
・
(省略)
・
==> Pouring yarn--1.22.15.all.bottle.tar.gz
🍺 /usr/local/Cellar/yarn/1.22.15: 15 files, 5MB
Removing: /usr/local/Cellar/yarn/1.22.11... (15 files, 5MB)
Removing: /Users/username/Library/Caches/Homebrew/yarn--1.22.11... (1.2MB)
==> Checking for dependents of upgraded formulae...
==> No broken dependents found!
username@MacBookAir ~ %
② ImageMagick をRailsで利用するため、Gemfile に関連パッケージを追記する。
gem 'mini_magick'
gem 'image_processing', '~> 1.2'
③ Gemをインストルールするため「bundle install」を実行した。
username@MacBookAir ~ % bundle install
rbenv/shims/bundle: line 21: /usr/local/Cellar/rbenv/1.1.2/libexec/rbenv: No such file or directory
原因
ImageMagickをインストールした際に「Auto-updated Homebrew」とあるのが見えると思います。
そして、その後、「Upgrading 5 dependents:」という書き出しの後に「rbenv」があるのが見えます。
つまり、そのタイミングでrbenvが意図しないアップデートが発生しました。
アップデート自体は悪くないのですが、残念ながらアップデート後はPathが通らなくなっています。
対策①
rehashを行うことで、再度コマンドが使える。
(私はこの方法を使っていないので、情報だけ記載します。)
% rbenv rehash
対策②
ターミナルを再起動する。
これは私もやりました。再起動すると、どうしてPathが通るか理由はあります。
rbenvのインストール時に「eval "$(rbenv init -)"」を書き込んだと思います。
これがrehashと同じようにPathを通してくれるコマンドになります。
% cat ~/.zshrc
eval "$(rbenv init -)"
参考
teratail - ターミナルでRails関連のコマンドが一切使えなくなってしまいました。
Github - rbenv/rbenv
mogulla3.tech - rbenv rehashをちゃんと理解する