@ledsun blog

無味の味は佳境に入らざればすなわち知れず

Homebrewをインストールし直す

Homebrewの再インストール

GitHub - Homebrew/install: 📥 Homebrew (un)installer を見て

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall.sh)"

Homebrewでインストールしていた諸々も消えたので入れ直します。

fish-shell

brew install fish

PostgresSQL

brew install postgres
~ pg_ctl -D /usr/local/var/postgres start
pg_ctl: another server might be running; trying to start server anyway
waiting for server to start....2020-06-21 01:06:21.086 JST [59996] FATAL:  lock file "postmaster.pid" already exists
2020-06-21 01:06:21.086 JST [59996] HINT:  Is another postmaster (PID 607) running in data directory "/usr/local/var/postgres"?
 stopped waiting
pg_ctl: could not start server
Examine the log output.

起動時に色々言われるので地道に対応します。

rm /usr/local/var/postgres/postmaster.pid
mkdir /usr/local/var/postgres/{pg_tblspc,pg_twophase,pg_stat,pg_stat_tmp,pg_replslot,pg_snapshots}/
cd /usr/local/var/postgres/
mkdir pg_commit_ts
mkdir -p pg_logical/snapshots
mkdir -p pg_logical/mappings

Ruby

せっかくなのでrbenvをgitから入れます。

過去に入れたバージョンを一旦逃します。 再インストールするとそれぞれコンパイルする必要があって時間がかかります。

mv .rbenv/ .rbenv_old/
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
cd ~/.rbenv && src/configure && make -C src
set -Ux fish_user_paths $HOME/.rbenv/bin $fish_user_paths
~/.rbenv/bin/rbenv init

インストール済みのバージョンを戻します。

mv .rbenv_old/versions/* .rbenv/versions/.

ruby-buildも入れます。

mkdir -p "$(rbenv root)"/plugins
git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build

最新のRubyはHomebrewで入れていたので、rbenvでインストールします。

rbenv install 2.7.1
rbenv global 2.7.1

Ruby 2.6.5を動かそうとすると

~ ruby
dyld: Library not loaded: /usr/local/opt/gmp/lib/libgmp.10.dylib
  Referenced from: /Users/shigerunakajima/.rbenv/versions/2.6.5/bin/ruby
  Reason: image not found
fish: 'ruby' terminated by signal SIGABRT (Abort)

libgmpを求められるので、インストール

brew install gmp

Ruby on Rails

Railsを動かそうとすると

~ rails c
/Users/shigerunakajima/.rbenv/versions/2.6.5/lib/ruby/2.6.0/yaml.rb:3: warning: It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.

libyamlを求められるので、インストール

brew install libyaml

現在のbrew list

~ brew list
fish        gmp     icu4c       krb5        libyaml     openssl@1.1   pcre2       postgresql  readline

再インストール前のも取っておけばよかったな・・・

追記

gitを入れ忘れていました。

brew install git

追記追記

RubyMineのターミナルに教えるrbenvのパスを更新しました。 ~/.config/fish/config.fish にset PATH /usr/local/bin $PATHと書いていたのを、set PATH /Users/shigerunakajima/.rbenv/bin/ $PATHに更新しました。

RubyMineのターミナルが壊れた話 - @ledsun blog