ページ

ラベル RVM の投稿を表示しています。 すべての投稿を表示
ラベル RVM の投稿を表示しています。 すべての投稿を表示

2012年12月31日月曜日

rvmからrbenvに乗り換え

年越し環境構築を。
rvmからrbenvに乗り換えてみる。

まずはrvmをアンインストール。
rvmをアンインストールするにはrvm implodeもしくはrvm seppukuコマンドを使う(切腹ってなんだよ)。
% rvm seppuku
zshrcとかに書いてあるrvm関連の行も消す。

続いてrbenvとruby-buildのインストール、Homebrewで。

% brew install rbenv ruby-build

eval "$(rbenv init -)" をzshrcとかzshenvとかに書く(僕はzshenvに書いた)。

rbenv installでrubyをインストールする
% rbenv install 2.0.0-preview2
自分でコンパイルして ~/.rbenv/versions/ に置いてやるんでもいいらしい。

追記:
ruby2はMacデフォルトのopensslとは互換性がないとかなんとか。
https://github.com/sstephenson/ruby-build/issues/197

なのでopensslもhomebrewでインストールして、rubyもオプション付けてインストールし直した。
% brew install openssl
% brew link openssl
% RUBY_CONFIGURE_OPTS=--with-openssl-dir=`brew --prefix openssl` rbenv install 2.0.0-preview2

2013/04/21 追記
readlineも指定してやらないとirbとかpryで日本語使えなかった
% brew install readline
% CONFIGURE_OPTS="--with-openssl-dir=`brew --prefix openssl` --with-readline-dir=`brew --prefix readline`" rbenv install 2.0.0-p0

インストールしたら、rbenvでは以下のコマンドが必要になるそうな。
% rbenv rehash
rbenvではこれをよく使うらしく、新しくrubyをインストールしたときとか、実行可能なgemをインストールしたときにもrehashしてやらないといけないらしい。
(rbenv-rehashっていうgemを各rubyに入れておいてやることで勝手にやってくれるようになるらしいが、まあなんとなく鬱陶しいな)

デフォルトで使うrubyのバージョンはrbenv globalで指定する。
% rbenv global 2.0.0-preview2
β版的なものをデフォルトにするのは止めたほうがいいと思う。

尚、MacRubyに関しては、rbenv-macrubyというプラグインがあり、こいつを使えばMacRubyもrbenvで管理できる。

2012年5月9日水曜日

Ubuntu + Passenger + Nginx インストール

Rubyはrvmで入れた1.9.3。
% gem install passenger
% rvmsudo passenger-install-nginx-module

そしたら
Curl development headers with SSL support... not found
って出た。

足りないのはこれだけだったので、指示に従ってインストール
% sudo aptitude install libcurl4-openssl-dev
そして改めて
% rvmsudo passenger-install-nginx-module

途中、選択肢が出るので選択する。人生は選択の連続。

インストール先も設定できるが 、何のこだわりもないのでデフォルトの /opt/nginx 。
設定ファイルの場所は /opt/nginx/conf/nginx.conf になる。

編集する。
pid /var/run/nginx.pid;

server {
listen 8080;
server_name hogehoge.jp;

# publicを指定するらしい
root /var/www/hogeapp/public;

passenger_enabled on;
}


Nginx-init-ubuntuの起動スクリプトを/etc/init.d/nginxにコピペ&ちょっと編集。
DAEMON=/opt/nginx/sbin/nginx
NGINX_CONF_FILE="/opt/nginx/conf/nginx.conf"
にする。

% sudo chmod a+x /etc/init.d/nginx
% sudo update-rc.d -f nginx defaults

参考:
Rails 3 on Ubuntu 10.10 with RVM, Passenger and Nginx « theKindOfMe
Ubuntu 10.04 TLS に nginx + passenger + sinatra を入れたメモ(1) - Moderation is a fatal thing. Nothing succeeds like excess.
Ubuntuに、passenger-install-nginx-moduleした « blog.udzura.jp

2012年3月21日水曜日

XcodeでMacRubyのgemを使う

Xcodeのバージョンは4.3.1
MacRubyはRVMで入れたのを使う。

% rvm use macruby-nightly
% rvm info

で出力される中に書いてあるGEM_HOMEとGEM_PATHをXcodeの環境変数に入れる。

やり方。

下の画像、Deploymentって書いてあるところをクリックすると出てくる「Edit Schme...」的なやつを選択。

ArgumentsにあるEnvironment Variablesにこんな感じで追加してやる。


で、require 'rubygems' すればgemが使えた。
(MacRubyってRuby1.9系 な気がしたんだけど、require 'rubygems'がいるのはなんでだっけ)
これでちゃんと合ってるのかわかんないんだけど、間違ってたらそのうち誰かが指摘してくれると信じてる。


あと、デプロイするときにgemを含めたい場合は、この画面で

Argumenstのところに
--gem なんとか --gem かんとか
って書いてやればいいようだ。


3/22 追記: MacRuby DoJoに書いてあった
CRuby 1.9 では require 'rubygems' が不要なのですが、MacRuby で RubyGems を利用する際には必須となります。「MacRuby の起動にさらに時間がかかるので、rubygems をロードしていない」というのが理由です。

MacRubyをRVMでインストールしてXcodeで使う

Xcodeのバージョンは4.3.1

macruby-0.10はXcode4.3に対応していないらしいので、nightly-buildを使う。
% rvm install macruby-nightly

インストールして、XcodeでMacRuby Applicationを新しく作ると、こういう風にMacRuby.frameworkのところが赤くなってる。
(RVMを使わないでMacRubyをインストールしておいた場合にもなるのかは知らない)

赤くなってるMacRuby.frameworkはdeleteキーを一押しして消してしまい、/Library/Frameworks/ にMacRuby.frameworkがあるのでそいつをD&Dしてやればいい。

左のツリーにあるFrameworksの中にあるMacRuby.frameworkも赤くなってるので、消してやって、読み込まれたMacRuby.frameworkをそこに移動させればすっきり。

2012年3月11日日曜日

Pryで日本語入力できるようにする

pryの読み方って「ぷらい」なんですね。「ぷりい」って読んでた。

% rvm pkg install readline

するとreadlineが /Users/zakuni/.rvm/usr とかにインストールされるので
そいつを使ってrubyをreinstallする

% rvm reinstall ruby-1.9.3 --with-readline-dir=/Users/zakuni/.rvm/usr

これでPryで日本語入力できる。

参考: irbやpryで日本語を入力できるようにする - IwazerReport

2011年10月2日日曜日

require 'json'しようとしたらiconvが無いって言われた

require 'json' したら

`require': no such file to load -- iconv (LoadError)

っていうようなエラーが出てハマった。

% rvm pkg install iconv
% rvm remove 1.9.2
% rvm install 1.9.2 --with-iconv-dir=$rvm_path/usr

で解決した。

参考:
http://g86.dbcls.jp/~iNut/chateautogo/?tag=ruby
http://tisba.de/2010/11/19/fixing-problems-with-iconv-ruby19.html
http://beginrescueend.com/packages/openssl/

2011年9月2日金曜日

SinatraとSlimでInternal Server Errorが出てた

さくらのVPSでrvmとrubyをアップデートしたら各所に弊害が出てた。

Passengerがエラー吐いてたので /etc/apache2/conf.d/passenger を修正。
LoadModule passenger_module /home/zakuni/.rvm/gems/ruby-1.9.2-p290@global/gems/passenger-3.0.8/ext/apache2/mod_passenger.so
PassengerRoot /home/zakuni/.rvm/gems/ruby-1.9.2-p290@global/gems/passenger-3.0.8
PassengerRuby /home/zakuni/.rvm/wrappers/ruby-1.9.2-p290@global/ruby
rubyのバージョンに依存しない書き方にしたいところだけど、とりあえずこれで保留。

apacheをリロード
sudo /etc/init.d/apache2 reload

そして輝くInternal Server Error。

悩む。

どうやらSlimがおかしいと突き止める。

Slimの公式サイト(http://slim-lang.com/)と見比べる。

1行目
! doctype html
になってたのを
doctype html
に変えてやる。

エラー消えた。

いつの間にかSlimの仕様が変わってたらしい。

2011年3月26日土曜日

RVMをアップデートする

どのバージョンからか、rvm updateが無くなって使えなくなった。
今後はrvm getでやるらしい

安定版にアップデートするには

% rvm get latest

リポジトリから最新のをとってくるには

% rvm get head

してやればいい。

% rvm get 1.5.2
みたいにバージョンの指定もできるっぽい

2011年2月14日月曜日

さくらのVPSにRVM、Rubyをインストール

RVMのインストール。
% bash < <( curl http://rvm.beginrescueend.com/releases/rvm-install-head )
そしてPATHを通す。
% emacs .zshrc
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
% source .zshrc

Rubyをインストールする前に依存ライブラリをインストール
% sudo yum install -y gcc-c++ patch readline readline-devel zlib zlib-devel libyaml-devel libffi-devel openssl-devel

そしてRubyのインストール。1.8.7と1.9.2をインストールして1.8.7をデフォルトに設定した。
% rvm install 1.8.7
% rvm install 1.9.2
% rvm use 1.8.7 --default

2010年10月15日金曜日

rvmでインストールしたRubyをアップデート

なんかググッてもあんまり出てこないので。

rvm upgradeというコマンドを使えばできるみたい。

例えば既にインストールしてあるruby-1.8を1.9にしたいときは

rvm upgrade ruby-1.9 ruby-1.8

みたいにしてやればできる。
gemも引き継がれるので(確か引き継ぐかどうかも選択できる)、gemsetをexportしたりとかする必要もない。

もとのやつ(上の例だとruby-1.8)を消すか残すかも選択できるっぽいので、gemそのままでruby1.9をインストールしたいときとかも使えるのかも。

rvm install ruby-headとかでインストールしたものをアップデートするにはどうするんだろう。

2010年9月8日水曜日

RVMでJRubyをインストール

http://d.hatena.ne.jp/shokai/20100629/1277794269
↑を参考にJRubyをインストールしようとしていたのですが、RVMというものに興味がわいたのでそっちでやってみました。

RVMをgemでインストールして

$ sudo gem install rvm 

これだけじゃ駄目らしく、次のコマンドも実行。

$ rvm-install 

そして、.zshrcや.bashrcに以下を記述。

if [[ -s $HOME/.rvm/scripts/rvm ]] ; then source $HOME/.rvm/scripts/rvm ; fi

これでRVMが使えるようになるみたいです。

そしてJRubyをインストール。
bashだかzshだかでシェルを開きなおして

$ rvm install jruby

これでインストールされるので、終わったら

$ rvm use jruby 1.5.2 

とやってやればjrubyが使えるようです。