読者です 読者をやめる 読者になる 読者になる

wktk's diary

日記やメモ

ruby の管理を rbenv に移行した

Ruby

自分用メモです

背景

Ubuntu に apt-get からの ruby 1.8, 1.9.3 とソースからインストールした ruby 2.0.0-p0 を入れてあった。
それぞれの ruby のバージョンの住み分けが面倒な感じになってしまった。
よって rbenv (と ruby-build) を system-wide にインストールして使うことにした。
ちなみに Ruby は 1.9 の時代から始めたので 1.8 と 1.9 では問題を経験してない。

apt-get で入れた ruby を削除、必要そうなパッケージをインストール

必要なパッケージ一覧は Debian 7.0, Ubuntu 13.04 に rbenv をインストールする #Debian #Ruby #rbenv #Ubuntu - Qiita [キータ] からコピペ。

apt-get remove ruby1.8 ruby1.9.1 ruby1.9.1-dev ruby1.9.1-examples ruby1.9.1-full ruby1.9.3
apt-get install build-essential bison libreadline6-dev curl git-core zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev autoconf libncurses5-dev
apt-get autoremove

2 行目は既にインストールされてるものの方が多かった気がする。

ruby 2.0.0 を削除

ruby 2.0.0 のインストール時にソースを展開したディレクトリに移動して、

cd ~/ruby-2.0.0-p0
cat .installed.list | xargs rm -rf

ruby 2.0.0 を削除。中身は ruby 2.0.0 関連のものだけだったので rm -rf にしちゃったけど、他にいい方法があるのかも。

rbenv を入れる

rbenv install and system wide install on Ubuntu 10.04 LTS. を参考にして、/usr/local/rbenv/ 下に rbenv 一式を入れた。

インストールしたバージョンは 1.9.3-p429 と 2.0.0-p195 で、後者を global にした。

rbenv install 1.9.3-p429
rbenv install 2.0.0-p195
rbenv global 2.0.0-p195
rbenv rehash
ruby -v
ruby 2.0.0p195 (2013-05-14 revision 40734) [i686-linux]

これでとりあえず動くようになった。

あと、それぞれの ruby

gem install rbenv-rehash

しておくと自動で rbenv rehash されるっぽい。

近況など (2013/04)

diary

高 3 の単位を落とした (2012/10 - 2012/12 ごろ)

いろいろあって学校に行けなかった。

総合学習の 1 単位だけは夏休み期間中に自由な時間帯に授業を設定してもらって修得できた。

それ以外はすべての単位を落とした。

高卒認定を取得した (2012/12)

必修得単位を修得できなくなる可能性は早くからわかっていたので、24 年度第 2 回の高卒認定試験に出願してあった。

土曜授業のあとそのまま試験会場の東工大に向かって、1 科目だけ受けてきた。

高校の 1 年次で修得した単位で試験科目を免除 *1 できて、難易度は高くなかった。

高校を退学した (2013/03)

退学する、留年する、完全に単位制の高校に転校するなどの選択肢があったけど、退学することにした。

通い続けて卒業したいと思ってはいたので残念ではあった。

状況が多少複雑で退学を決めるまで長くかかってしまって、関係者には大分迷惑をかけた。

これから (2013/04)

高卒認定資格があるのでそのまま大学に進むこともできた。

でも 3 年次の勉強もまともにできないまま進学してしまうのが嫌だったので、1 年間の浪人の形で勉強しようと思ってる。

*1:ただし最低 1 科目は受験して合格する必要がある

Ruby で Pxem を動かせるライブラリを書いた

Ruby Pxem

たしか 1 ヶ月くらい前に書いたんだけど忘れてた。

Ruby から Pxem を実行できる RPxem というライブラリを書いて公開した。
https://github.com/wktk/rpxem
https://rubygems.org/gems/rpxem

RubyGems です。

使い方

コマンドラインから `gem install rpxem` でインストールできる。

すると、下のように rpxem というコマンドが使えるようになる。

$ touch "Hello, world!.pxe"
$ rpxem "Hello, world!.pxe"
Hello, world!

C++ の本家インタプリタ、pxemi (pxem) と同じように使えるはず。

Ruby からも使える。

require "rpxem"
RPxem.run("Hello, world!.pxe")

思ったことなど

  • 実行結果を STDOUT でなく返り値としてとれるようにしてないのでやりたい。
  • RPxem を書いてる間ずっと本家サイトのサーバーに接続できず、以前ダウンロードした pxemi のソースコードを見ながら書いた。そのため pxemi を移植したような感じになっている。
    • 因みに、今は本家サイトのサーバーには接続できるようになったものの、バーチャルホスト設定が消失したためかサーバー事業者のページが表示されてしまい、サイトには相変わらずアクセス出来ない。
  • 大きな数字を渡すと本家と動作が異なるかも。実際にやってみたら違ったけど、その辺りはよく知らないのでなんともいえない。

新 UI で Gist 作成が失敗するので GitHub に問い合わせてみた

GitHub Gist

1 週間くらい前から Gist が新 UI になった (Welcome to a New Gist · GitHub Blog) んだけど、僕のアカウント (wktk) ではそれに伴って Gist 作成が出来なくなってしまった。ログアウトすれば anonymous ユーザーとして新規作成できるものの、今までに作った Gist の編集・削除や一覧の表示は出来ないので不便である。

新規作成時の通信の様子を見てみると、/gists に POST し、作成に成功すれば 302 Found が返って、作成した Gist の URL に飛ばされる仕組みになっていた。今回、自分がログインしている場合は /gists が 404 Not Found を返してしまう。

再ログインや Cookie の消去、別ブラウザからの投稿も試したけどうまくいかなかった。IE8 では作成はできるものの、ログイン状態に関わらず anonymous な Gist になってしまった。

"gist" で Twitter 検索してみると、同様の症状っぽい方がいくらかいた。はてブロの Twitter 貼り付け機能でここの行間↓に転載しようと思ったけど、なんか怖いのでやめときます

このままでは埒があかないので、新 UI 以来ログインしていると新規作成に失敗することと、ブラウザの環境、通信のログを Contact GitHub に送って寝た。どうでもいいけど https://github.com/contacthttps://github.com/support って同じなんですかね

朝になると GitHub のスタッフの方から返信が来ていた。曰く、GitHub のプロフィールの名前が空である場合この問題が発生し、修正を先ほどデプロイしたとのこと。さっき Twitter 検索に引っかかった方の内数人は GitHub アカウントの名前欄が空欄だったのでたぶん同じ問題かもしれない。

ということで、修正して頂き Gist 作成が元通り出来るようになった。スタッフさんありがとうございます!!!!

新規作成がうまくいかないことにばかり囚われてあまり着目してなかったけど、新 UI のエディタは中々素敵だと思う。因みに GitHub 本体の方にも Git リポジトリ内のファイルを編集できる、今回の新 UI のエディタに似た Web エディタがついてて便利。