インストールしたgemはどこにあるのか

ほとんどはbundlerさんのおかげで明確なわけですが、普通にgem installしたらばどこに入ってるのか、知りたくて気持ち悪くなりました。

まー単純にgemのコードを読みたくなったって話なんですが。

gem environment

を実行すると、わかりました。僕の場合、以下のように出ました。

RubyGems Environment:
  - RUBYGEMS VERSION: 2.0.6
  - RUBY VERSION: 1.9.3 (2013-06-27 patchlevel 448) [x86_64-darwin12.4.0]
  - INSTALLATION DIRECTORY: /Users/unlearned/.rbenv/versions/1.9.3-p448/lib/ruby/gems/1.9.1
  - RUBY EXECUTABLE: /Users/unlearned/.rbenv/versions/1.9.3-p448/bin/ruby
  - EXECUTABLE DIRECTORY: /Users/unlearned/.rbenv/versions/1.9.3-p448/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-darwin-12
  - GEM PATHS:
     - /Users/unlearned/.rbenv/versions/1.9.3-p448/lib/ruby/gems/1.9.1
     - /Users/unlearned/.gem/ruby/1.9.1
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
     - :ssl_verify_mode => 0
  - REMOTE SOURCES:
     - https://rubygems.org/

これで、GEM PATHSのところを探れば良いわけですね。 簡単です。

ruby 2.1.0インストール、gemにも

インストールをrbenvを使ってするんだけど、 gemも一気に入れ替えてみる。

$ rbenv install -l          # インストール可能なバージョンを調べる

$ RUBY_CONFIGURE_OPTS="--with-readline-dir=$(brew --prefix readline) --with-openssl-dir=$(brew --prefix openssl)" 

$ rbenv install 2.1.0

$ rbenv install 2.1.0      # インストール
$ rbenv global             # 現在グローバルでのバージョン表示
$ gem list --no-versions > /tmp/gemlist # 今までつかってたrubyのgemのリスト
$ rbenv global 2.1.0 # グローバルで使用するrubyに設定
$ rbenv rehash
$ gem install `cat /tmp/gemlist`
$ rbenv rehash

インフラまわりのメモです。

なんか最近、言葉をすぐ忘れてしまったりするのでメモです。

chefspec

chefのcookbookのテストをRspecで書ける

serverspec

サーバーのインストールや、コンフィグレーションのテストをRspecで書ける

Docker

VMみたいなもん。linux上で複数のlinuxを動かせる。 システム分離にLinux Containers(LXC)、ファイルシステムにAdvanced multi layered unification system(Aufs)を使っていて、軽量

Linux Containers(LXC)

仮想マシンではなくて、個別のプロセスとネットワークスペースを作り出す仮想環境。 chroot的な?

Advanced multi layered unification system(Aufs)

ユニオンマウントができて、UnionFSよりも安定 いくつかのファイルシステムをオーバーレイしてマウントできる。 スナップショット的にも使える。

emacsのパッケージアンインストール

sublime text 2使ってたんですが、結局emacsを使いたいです。

なんかちょっといじりたいので、auto installで入れたパッケージを減らしたいんです。 ちなみに、僕はanything使ってます

  1. M-x package-list-packages
  2. リストが表示されるので、dボタンで、Dマークを付けます。インストールしたいときは、iでIマークをつける。
  3. xをおすと実行されます。

調べたブログに書いてあったんですが、自分のブログに書いておくと、完全に覚えておけるのでメモでした。

参考

私の名前は高城 剛。住所不定、職業不明。

私の名前は、高城剛。住所不定、職業不明

僕にとって高城剛は、ゲーム番組にでてた、 ゲーム業界に詳しい人だったんだが、ちょっと世間では違うようなので読んでみた。 というか、忙しい時にかぎって、こういうどうでもいい本が読みたくなるもんだ。

なんか、思ったよりも、えらい人だったんだなーと。 あと、ちょっと仏教的な考え方にたどり着いちゃった人のようで、 玄米を食べてるとか、んー。

これからの時代の先を考えてる人の感じを知るにはいいと思います。 とにかく、海外に遊びにいきたいなーと思う本でした。

Web API Design

なんかまー、僕はサーバサイドを主に書いているプログラマーなんだが、 ここ数年は、iPhoneだとかAndroidにjsonを返すようなモノを作るケースがおおい。 たぶん、他のサーバサイド作ってる人も傾向としてはそうだと思うのです。

いいインターフェイスを作るのはなかなか難しいもんで、 特に、初めてWeb API作る人とかは、なんか指針が欲しいと思うんです。

そこで、このebookおすすめっす。登録すればタダだし。

http://pages.apigee.com/web-api-design-ebook.html

英語なんだけど、36Pだから、苦手な人でもなんとか読めると思います。 僕はお風呂でデトックスしながら読み終わりました。

新しいプロジェクト始めるんだよねーなんて人は、ぜひ手に取ってみてください。

gemがインストールできない件

なんか良くわからないが、とりあえず、ずるい感じでインストール出来たので、メモ だれか詳しい人、教えてくれると、嬉しいです。 僕はrbenvをつかっていて、ruby 1.9.3p448 での環境です。

aws-sdkのgemをインストールしようとしていたんですが、下記のようにエラーメッセージが出て来て困りました。

$ gem install aws-sdk

SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (https://s3.amazonaws.com/production.s3.rubygems.org/latest_specs.4.8.gz)

下記のように.gemrcをつくってssl verifyをしないようにしたら、インストールできましたが、 ssl verifyをしていないので、不安です!

echo ':ssl_verify_mode: 0' >> ~/.gemrc

だれか、正しい解決方法をおしえて!