3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Xcodeを過信してたらRubyから苦情もらった(docker-sync動かないorz)

Posted at

はじめに

先日のXcodeのアップデートを受け入れた結果、docker-syncが動かなくなる事態にorz
↓こんな感じのエラー吐いた

$ docker-sync start
mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/include/ruby.h

一旦解決したので、備忘録としてまとめます。

Rubyの管理ちゃんとしよう

今までXcodeを入れておけばRubyが一緒についてくるから別に気にしなくていいや!と放置してましたが、今回のこの問題を解決するのにちゃんと見ててあげなきゃダメなんだなぁと思いました。
なんでかって?

ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /Library/Ruby/Gems/2.3.0 directory.

(察してください)

rbenvのインストール

Google先生の力を借りてRubyのバージョン管理ツール検索したら一番上にrbenvが出てきたのでとりあえずインストール(こっちの管理ツールの方が良い!とかあれば教えてください)

$ brew update
$ brew install rbenv ruby-build

(brewコマンド使えない人はhomebrewで検索!)

Rubyのインストール

インストールしたらRubyのバージョンリストをチェック(Rubyの公式で安定版のバージョン見た方がいいかも)

$ rbenv install -l

インストールしたいバージョンを指定し、インストール開始。

$ rbenv install 2.6.4

インストールしたら使用バージョンに指定し、バージョンチェック

$ rbenv global 2.6.4
$ rbenv versions
  system
* 2.6.4 (set by /Users/admin/.rbenv/version)

最後にシェルにrbenvのパスを通して完了!シェルを再起動。

[[ -d ~/.rbenv  ]] && \
  export PATH=${HOME}/.rbenv/bin:${PATH} && \
  eval "$(rbenv init -)"

あとはgem先生お願いします

まずはパスをチェックしてgemとrubyがどこ向いているのかを確認(rbenv向いてればOK)

$ which gem
/Users/admin/.rbenv/shims/gem
$ which ruby
/Users/admin/.rbenv/shims/ruby

最後にgem listを確認。おそらくdocker-composeもdocker-syncもいないと思うので、インストール。

$ gem list
$ gem install docker-compose
$ gem install docker-sync

これでdocker-syncも...動いた!!!!

まとめ

Rubyでの開発をしてこなかったので、アプリケーションが使っているのは知っていても放置していました。
が、ちゃんと理解しておかないとなーと改めて思いました。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?