rbenv から anyenv に乗り換えました

yak shaving (ここは読まなくていい)

最近数学ガールを読んでいまして、複素数平面とかのplotをrubyでできないかと
探していたら nyaplot というのが使えそうでした。
動作環境は IRuby notebook
IRuby notebook は Anaconda の利用が推奨されています。
pythonに関しては、たまに使うぐらいだったので、homebrew でinstallしていたのですが
そのまま、Anaconda のインストーラーを使うと homebrew 環境が壊れるとかなので
pyenv で Anaconda を入れるという方法で行こうと思ったのですが、
env系2つ以上入れるなら anyenv がいいよということなので
今回試してみることにしました。
 
この yak shaving 感ハンパないですね。
 
こういうのは Docker 使いこなすといちいちローカル環境整備しなくても良いのだろうなという気はしますが、node や go 環境も一旦 anyenv に乗せてローカルも綺麗にしておきたいという思いもあったので、環境整備することにしました。

Installation

Uninstall rbenv and python

~/.rbenv は .anyenv 以下に持っていっても動きそうな気がしますが、とりあえず消して再インストールすることにします。

$ brew uninstall rbenv ruby-build rbenv-default-gems
# .rbenv/default-gems の移行をするので、必要に応じてbackupしておいてください
$ rm -rf ~/.rbenv

$ brew uninstall python3
# python2はovencvの依存関係があったため ignore-dependencies を指定
$ brew uninstall --ignore-dependencies python

Install anyenv, rbenv and pyenv

$ git clone https://github.com/riywo/anyenv ~/.anyenv
$ echo 'export PATH="$HOME/.anyenv/bin:$PATH"' >> ~/.your_profile
$ echo 'eval "$(anyenv init -)"' >> ~/.your_profile
$ exec $SHELL -l

$ anyenv install rbenv
$ anyenv install pyenv

Intall anyenv-update

homebrew 時代は ruby-build を利用してupdateしていましたが、anyenv では、 znz/anyenv-update で一括updateができるようです。

$ mkdir -p $(anyenv root)/plugins
$ git clone https://github.com/znz/anyenv-update.git $(anyenv root)/plugins/anyenv-update
$ anyenv update

Install rbenv-default-gems

rbenv-default-gems が便利 - rochefort’s blog
毎回installするgemを自動で入れてくれる便利な奴です。
rbenv/rbenv-default-gems: Automatically install gems every time you install a new version of Ruby
homebrew で入れていましたが、以下のようにすれば anyenv でも利用できます。

$ git clone https://github.com/rbenv/rbenv-default-gems.git $(rbenv root)/plugins/rbenv-default-gems

# 最初にバックアップしておいた、default-gems を rbenv root に配置
# mv .rbenv/default-gems $(rbenv root)

Install ruby, putyhon, annaconda

$ rbenv install 2.4.1
$ rbenv global 2.4.1

$ pyenv install 2.7.13
$ pyenv install anaconda3-4.4.0
$ pyenv global anaconda3-4.4.0

余談ですが、openssl, readline は RUBY_CONFIGURE_OPTS で指定しなくても hombrew のものが使われるんですね。

$ rbenv install 2.4.1
ruby-build: use openssl from homebrew
ruby-build: use readline from homebrew

余談

いつも思うのですが処理系をinstallするとCPU上がりまくりで、Macがあっちっちになるのなんとかならんのでしょうか? nodebrewのbinary installみたいなことができると嬉しいんだけどな。

See Also

脳のトリセツ 読了

自分の力を最大限に発揮する!  脳のトリセツ (DO BOOKS)

自分の力を最大限に発揮する! 脳のトリセツ (DO BOOKS)

脳は力の配分ができない内蔵で、大切なことにも、どうでもいいことにも同じように力を使ってしまう。 効率よく脳を使うために「ハーフタスク」という概念で作業内容を調整すると効率よく脳が使えるようにできるよー、というようなことが書かれています。
この辺は、実感としてそうだなぁという気がして、とても興味深いです。
 

「ハーフタスク」とは、作業内容を半分は経験済みにすることで、「つまらない」、「ムリ」と感じさせないようにする調整方法のこと。「つまらない」は、100%経験済みで100%分かりきった課題、「ムリ」は100%結果が読めない課題。 半分を未経験のタスクにすることでワクワクさせ、力を発揮できるようになるとのこと。  
 

その他気になったところ

  • 行動を具体的に言語化すると脳の中にゴールができ、行動しやすくなる
  • メタファー言語
    「〜みたい」と言語化することで行動の制度をあげれる
  • マルチタスクに集中するためにシングルタスクを作って調整する。
    「同じ漫画を何度も読む」など。

第三の嘘(悪童日記 3部作目) 読了

第三の嘘 (ハヤカワepi文庫)

第三の嘘 (ハヤカワepi文庫)

悪童日記の3部作目です。 ふたりの嘘(2部作目)から30年ほど経ったぐらいの時代から始まります。
今作は、リュカとクラウスの視点で悲しい双子の運命が描かれています。
前2編と時間軸としてはリンクし関連していそうな内容なのですが、登場人物などが微妙に異なり、あれどっちが本当なんだ?という感じで少し混乱しますが、読み終えた時に第三の嘘というタイトルから、ああなるほどと理解できます。
ああ、嘘だったのかと。
 
 
とても面白い3部作でした。確かにこれはまた読み返したい。