Androidのメモとか

ポキオの日記です。今日も遅延してない。

技術書典に向けてMacにmd2reviewとreviewをインストールしようと思った話

インストールできたのかな・・・?

mac sierra md2review review install

セットアップで泣きそうになった

何かのご縁で技術書典(いつも書展って変換されてイライラする)に出す同人誌の一部を書くことになり、とりあえずセットアップしようと思ったんです。

ちなみに、私の環境は以下の通り。

MacBook Air (13-inch, Mid 2013)

macOS Sierra 10.12.6

まずはgemとかの更新をした(必要だった?)

とりあえず、MarkdownRe:VIEW形式の変換を行ってくれるmd2reviewと、Re:VIEWからTEXとかもろもろに変換してくれるreviewを入れてみようと思ったわけです。どっちもRuby系のツールだけど、うちのMacってgem入ってたかなーと思い、gem -vしてみたら・・・

$ gem -v
2.0.14.1

ほう、入ってる。なんだ、ヤルジャン。

ここで、変なクセを発揮してしまい、何を思ったかgemの更新をしてみたんだ。

$ sudo gem update --system
Updating rubygems-update
Fetching: rubygems-update-2.7.6.gem (100%)
Successfully installed rubygems-update-2.7.6
Parsing documentation for rubygems-update-2.7.6
Installing ri documentation for rubygems-update-2.7.6
Installing darkfish documentation for rubygems-update-2.7.6
Installing RubyGems 2.7.6
YAML safe loading is not available. Please upgrade psych to a version that supports safe loading (>= 2.0).
ERROR:  While executing gem ... (Errno::EPERM)
    Operation not permitted - /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/gem

え・・・

なんだかYAMLとかなんとかで怒られてる・・・

$ gem -v
YAML safe loading is not available. Please upgrade psych to a version that supports safe loading (>= 2.0).
2.7.6

でもgem -vすると、2.7.6が入ってる。

でも、なんだか相変わらず怒られてる・・・。どうやら、psychをアップデートすれば直るのかな、と思いおもむろにアップデートしてみたんだ。

$ sudo gem update psych
YAML safe loading is not available. Please upgrade psych to a version that supports safe loading (>= 2.0).
Updating installed gems
Updating psych
Fetching: psych-3.0.2.gem (100%)
ERROR:  Error installing psych:
    There are no versions of psych (= 3.0.2) compatible with your Ruby & RubyGems
    psych requires Ruby version >= 2.2.2. The current ruby version is 2.0.0.
Gems updated: psych

また怒られた。軽いDVだ。

rubyが古い。そうか。めんどくさいやつか。

$ sudo gem install psych
YAML safe loading is not available. Please upgrade psych to a version that supports safe loading (>= 2.0).
ERROR:  Error installing psych:
    The last version of psych (>= 0) to support your Ruby & RubyGems was 2.2.4. Try installing it with `gem install psych -v 2.2.4`
    psych requires Ruby version >= 2.2.2. The current ruby version is 2.0.0.

ちなみに、何を血迷ったのかsudo gem install psychしたら、

Try installing it with gem install psych -v 2.2.4

と言われたので、そのとおりにやってみました。

$ sudo gem install psych -v 2.2.4
YAML safe loading is not available. Please upgrade psych to a version that supports safe loading (>= 2.0).
Fetching: psych-2.2.4.gem (100%)
Building native extensions. This could take a while...
Successfully installed psych-2.2.4
Parsing documentation for psych-2.2.4
unable to convert "\xCA" from ASCII-8BIT to UTF-8 for /Library/Ruby/Gems/2.0.0/extensions/universal-darwin-16/2.0.0/psych-2.2.4/psych.bundle, skipping
unable to convert "\xCA" from ASCII-8BIT to UTF-8 for lib/psych.bundle, skipping
Installing ri documentation for psych-2.2.4
1 gem installed

ほうほう。なんだかいい感じ。

$ gem -v
2.7.6

くじけずにgem -vしたら、ヴァージョンは変わってないものの、怒られなくなった。急に優しくなる感じも、まさにDV常習犯だ。

$ ruby -v
ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin16]

ちなみに、ruby -vはこの通り。2.0.0でございます。ダメだったらrbenvとかでうまいことヴァージョンを切り替えますが、めんどくさいので2.0.0で進めます。

ようやくreviewとmd2reviewのインストール、だったんだけど

もう怒られたくない、その一心。

とりあえず機嫌のいいうちにreviewをインストールしようと思ったんだ。

$ sudo gem install review
Password:
Fetching: image_size-1.5.0.gem (100%)
Successfully installed image_size-1.5.0
Fetching: rouge-3.1.1.gem (100%)
ERROR:  While executing gem ... (Errno::EPERM)
    Operation not permitted - /usr/bin/rougify

また怒られた。DVだよこれは。しかもさっきもこの怒られ方をしたようなきがする。

qiita.com

ぐぐってみると、El Capitanから入ったSystem Integrity Protection(rootless)が原因のようで・・・。インストール先を変えることで回避できるらしい。

$ sudo gem install -n /usr/local/bin review
Successfully installed rouge-3.1.1
Fetching: rubyzip-1.2.1.gem (100%)
Successfully installed rubyzip-1.2.1
Fetching: review-2.4.0.gem (100%)
Successfully installed review-2.4.0
Parsing documentation for rouge-3.1.1
Installing ri documentation for rouge-3.1.1
Parsing documentation for rubyzip-1.2.1
Installing ri documentation for rubyzip-1.2.1
Parsing documentation for review-2.4.0
Installing ri documentation for review-2.4.0
3 gems installed

うちの子にも使ってみたら、たしかにインストールできたっぽい。

$ sudo gem install -n /usr/local/bin md2review
Fetching: redcarpet-3.4.0.gem (100%)
Building native extensions. This could take a while...
Successfully installed redcarpet-3.4.0
Fetching: md2review-1.12.0.gem (100%)
Successfully installed md2review-1.12.0
Parsing documentation for redcarpet-3.4.0
unable to convert "\xCA" from ASCII-8BIT to UTF-8 for /Library/Ruby/Gems/2.0.0/extensions/universal-darwin-16/2.0.0/redcarpet-3.4.0/redcarpet.bundle, skipping
unable to convert "\xCA" from ASCII-8BIT to UTF-8 for lib/redcarpet.bundle, skipping
Installing ri documentation for redcarpet-3.4.0
Parsing documentation for md2review-1.12.0
Installing ri documentation for md2review-1.12.0
2 gems installed

ついでにmd2reviewもこの作戦で行くと怒られることはなかった。

$ gem list review

*** LOCAL GEMS ***

md2review (1.12.0)
review (2.4.0)

うんうん、なんかインストールできてるっぽい。できてるっぽいぞ・・・!

・・・やっぱりYOSEMITEのままにしておけば良かったな(ボソッ

「Androidのメモとか」は、Amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、Amazonアソシエイト・プログラムの参加者です。

このブログは個人的なメモ書きであったり、考えを書く場所であります。執筆者の所属する団体や企業のコメントや意向とは無関係であります。また、このブログは必ずしも正しいことが書かれているとは限らず、誤字脱字や意図せず誤った情報を載せる場合がありえます。それが原因で読者が不利益を被ったとしても、執筆者はいかなる責任も負いません。ありがとうございます。