いつも使ってるユーザで設定をミスった
いつも使ってるユーザで開発環境作ろうといろいろいじってたらRailsの環境がうまく動かなくなってしまった。
たぶんパスがうまく通っていなくて、rbenvの環境じゃなくてデフォルトの環境にいろいろすべてインストールしてしまったっぽい。
とりあえず元に戻すのも怖いので新しいユーザを追加してそれでやろうと判断。
その結果やいかに。
新規ユーザ追加してやった手順
- brew updateすると以下のエラー
takuMac:~ dev$ brew update Error: /usr/local/Cellar is not writable. You should change the ownership and permissions of /usr/local/Cellar back to your user account: sudo chown -R $(whoami) /usr/local/Cellar
以下を実行。
sudo chown ユーザー名 /usr/local/Cellar/ sudo chown ユーザー名 /usr/local/bin sudo chown ユーザー名 /usr/local/share sudo chown ユーザー名 /usr/local/share/man sudo chown ユーザー名 /usr/local/share/man/man1 cd /usr/local/Library && git stash && git clean -d -f
また怒られた。
takuMac:~ dev$ brew update Error: Can't create update lock in /usr/local/var/homebrew/locks! Fix permissions by running: sudo chown -R $(whoami) /usr/local/var/homebrew
もしかすると、ブラウザからダウンロードしたHomebrewかも。
takuMac:~ dev$ which brew /usr/local/bin/brew
パスが違う、、こっちが今使ってるbrewコマンドの実体だな。
(やってない)sudo chown -R $(whoami) /usr/local/var/homebrew
これはやりたくないな、、、
sudo chown -R $(whoami) $(brew --prefix)/*
結局これやった。
どうやらHigh Sierra からは上記の操作ができなくなったよう。
https://github.com/Homebrew/brew/issues/3228
takuMac:~ dev$ brew update Updated 2 taps (caskroom/cask, homebrew/core). ==> Updated Formulae commandbox hcloud node flow libcouchbase speedtest-cli
できた。
次にrbenvとruby-buildのインストール。
takuMac:~ dev$ brew install rbenv ruby-build Warning: rbenv 1.1.1 is already installed and up-to-date To reinstall 1.1.1, run `brew reinstall rbenv` Warning: ruby-build 20180424 is already installed and up-to-date To reinstall 20180424, run `brew reinstall ruby-build`
すでにインストールされてた。
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
ターミナルを立ち上げた時に自動でrbenvを初期化する設定。
rbenv install 2.4.1
rubyをインストール。
rbenv global 2.4.1
このユーザでのデフォルトのRubyのバージョンを2.4.1に設定。
バージョンが切り替えできなかった場合は以下の2つのファイルのどちらかが悪さしてる。
- /Users/dev/.ruby-version
- /Users/dev/.rbenv/version
上はたぶんRubyをインストールしたときに設定されるファイル。
下はrbenvのデフォルトのバージョン管理ファイル。
環境変数 RBENV_VERSION > カレントディレクトリの .ruby-version > ~/.rbenv/version の順に優先される
らしいぞ。