久しぶりにDigital Ocean使ったらAPI v2.0になっていて動いてくれなかったので、vagrant-digitaloceanをアップデートしようとした。
だけど色々怒られて上手く行かなかったので、同じ苦しみを味合う人がいなくなるようにメモ。
vagrant plugin update vagrant-digitalocean してみる
An error occurred while installing nokogiri (1.6.3.1), and Bundler cannot continue.
Make sure that `gem install nokogiri -v '1.6.3.1'` succeeds before bundling.
と言われてしまった。
vagrant-1.6.3.gemspec に Nokogiri に関する一行を追加。
これの対処法は Vagrantのpluginをインストールしようとして、nokogiriのエラーになる場合 とか、 osxでvagrantのpluginがインストールできない - Qiita に書いてある。
sudo vim /Applications/Vagrant/embedded/gems/specifications/vagrant-1.6.3.gemspec
して、以下を追加する。
s.add_dependency(%q<nokogiri>, ["= 1.6.2.1"])
これでNokogiriはOKだった。
もう一回 vagrant plugin update vagrant-digitalocean する
そしたら今度は
An error occurred while installing ffi (1.9.6), and Bundler cannot continue.
Make sure that `gem install ffi -v '1.9.6'` succeeds before bundling.
といわれた。ffiってなんだ…?
xcode-select --install する
どうやらXcodeのコマンドラインツールが入っていないっぽい。
そういえばXcode上げてからコマンドラインツール入れてなかった。
xcode-select --install
すると、下のようなインストール画面が出るので、Xcodeを入手する
する。
ffiはこれでOKだった。
参考にしたのはこれruby on rails - Bundle update fails on ffi - Stack Overflow。
同じところではまってる人もいて、 vagrantのpluginインストールでffiでコケる - Qiita にはxcode-select
のパスを通したら直ったよって人もいたけど、私はこれじゃダメだった。
もう一回 vagrant plugin update vagrant-digitalocean する
Updated 'vagrant-digitalocean' to version '0.7.0'!
Updated 'vagrant-share' to version '1.1.2'!
成功した。