「Mac」カテゴリーアーカイブ

RVM, Ruby 1.8.7 and OSX Lion

Mac OSX Lion で RVMでインストールしたRuby 1.8.7 で、

$ gem install rails

などとやると、

ruby-1.8.7-p352/lib/ruby/1.8/timeout.rb:60: [BUG] Segmentation fault

というエラーになってしまう。
その解決方法。
.bash_profileなどに、

export CC=gcc-4.2

とやっておいてから、RVMでRuby をインストールする。
ただし、後述するように、Xcode 4.2.1にはgccが含まれていない。別途gccを入れる必要がある。
私は、.bash_profileへの追加はせずに、RVMでのRubyインストール時に、

$ CC=/usr/bin/gcc-4.2 rvm install 1.8.7

とした。

Xcode 4.2.1 にはgcc-4.2が入っていないので、gcc-4.2を別途インストールする必要がある。
rvm requirements に記載があった。
まず、kennethreitz/osx-gcc-installer - GitHub でgccをインストール。
その後、必要があれば、Xcode 4.2.1をインストールすればよい。

osx-gcc-installerをインストールする前にXcodeをアンインストールした方がいいらしい。
Xcode4.3以降は、アンインストールはXcode.appを削除するだけでいい。

Do not install this if you already have Xcode installed! Mixing Xcode and osx-gcc-installer is known to cause various difficult-to-diagnose problems and is not recommended.

If you intend to only use command line tools you should first uninstall Xcode entirely before installing osx-gcc-installer, or see below for other options.

※ 1.9.2では、上記の問題は発生しなかった。
※ Snow Leopard では、RVMでのRubyインストール時に、

$ rvm pkg install readline
$ rvm install 1.9.2 --with-readline-dir=$rvm_path/usr

とやらないと、irbで日本語が入力できなかったが、Lionではreadlineの互換ライブラリlibeditが改善され、ふつうにインストールすれば大丈夫になった。
RVM, Ruby 1.8.7 and OSX Lion « frymanet.com

Mac OSXにHaru Free PDF Libraryをインストール

libHaruはPDFを生成するCのライブラリ。
Ruby、Delphi/Free Pascal、C#(Microsoft .NET platform)、PHP、Perlから利用可能にするbindingもある。
libHaru.org wiki
ダウンロードページからソースをダウンロードしてインストールする。
libpngはMacPortsでインストールしているので、--with-png=/opt/local を指定。

$ tar xzvf libharu-2.1.0.tar.gz
$ cd libharu-2.1.0/
$ ./configure --with-png=/opt/local
$ make
$ sudo make install

Ruby用のライブラリをインストールする。
Documentation/Bindings - libHaru.org wiki

$ cd if/ruby/
$ ruby extconf.rb
$ sudo make install

Mac OSX Snow Leopard でRVMを使って1.8.7と1.9.xを共存

Mac OSX (Snow Leopard) で、MacPortsのRuby1.8.7を使っているが、1.9.2も使いたいので、RVMでRuby1.9.2をインストールしてみた。

RVMのインストール

$ bash < <(curl -s https://rvm.beginrescueend.com/install/rvm)
$ echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile

RVM: Ruby Version Manager - Installing RVM

RVMのアップデート

$ rvm get latest

RVM: Ruby Version Manager - Upgrading RVM
rvm get latest がエラーになる場合は、

$ rvm get head
$ rvm get latest

Gamburtsev: rvm get latest が失敗する場合

Rubyのインストール

インストール可能なRubyの確認

$ rvm list known
# MRI Rubies
[ruby-]1.8.6[-p420]
[ruby-]1.8.6-head
[ruby-]1.8.7[-p334]
[ruby-]1.8.7-head
[ruby-]1.9.1-p378
[ruby-]1.9.1[-p431]
[ruby-]1.9.1-head
[ruby-]1.9.2-preview1
[ruby-]1.9.2-preview3
[ruby-]1.9.2-rc1
[ruby-]1.9.2-rc2
[ruby-]1.9.2[-p180]
[ruby-]1.9.2-head
ruby-head
# GoRuby
goruby
# JRuby
jruby-1.2.0
jruby-1.3.1
jruby-1.4.0
jruby[-1.5.6]
jruby-1.6.0.RC1
jruby-1.6.0.RC2
jruby-head
# Rubinius
rbx-1.0.1
rbx-1.1.0
rbx-1.1.1
rbx-1.2.0
rbx-1.2.1
rbx[-head]
# Ruby Enterprise Edition
ree-1.8.6
ree[-1.8.7][-2011.03]
ree-1.8.6-head
ree-1.8.7-head
# MagLev
maglev[-25315]
maglev-head
# Mac OS X Snow Leopard Only
macruby[-0.8] # the default macruby
macruby-nightly
macruby-head      # Build from the macruby git repository
# IronRuby -- Not implemented yet.
ironruby-0.9.3
ironruby-1.0-rc2
ironruby-head

1.9.2をインストールする

$ rvm pkg install readline
$ rvm install 1.9.2 --with-readline-dir=$rvm_path/usr

これで[ruby-]1.9.2[-p180](現時点)がインストールされる。
※ rvm pkg で readline をインストールして、それをRubyインストール時に指定しているのは、irbで日本語が入力できなかったから。
最初、普通にrvm install 1.9.2 でインストールしたら、irbで日本語を入力すると、

ruby-1.9.2-p180 :001 > "???"
SyntaxError: (irb):1: invalid multibyte char (UTF-8)
(irb):1: invalid multibyte char (UTF-8)
	from /Users/pistolfly/.rvm/rubies/ruby-1.9.2-p180/bin/irb:16:in `<main>'

となってしまった。
Ruby 1.9 - Bug #550: irbで日本語を入力できない - Ruby Issue Tracking System
と同じような現象なので、rvm pkgでreadlineをインストールして、Rubyインストール時に指定すると、大丈夫になった。
RVM: Ruby Version Manager - 'rvm package install readline'
※ Mac OSX Lion ではreadline(の互換ライブラリlibedit)が改善されたらしく、RVMのreadlineを使わなくても大丈夫になっている。

使用するRubyを選択

$ rvm use 1.9.2
Using /Users/pistolfly/.rvm/gems/ruby-1.9.2-p180
$ ruby -v
ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-darwin10.6.0]

RVMでインストールされているRubyを確認

$ rvm list
rvm rubies
=> ruby-1.9.2-p180 [ x86_64 ]

デフォルトの Rubyを設定する

デフォルトのRubyを設定する。

$ rvm --default use 1.8.7

デフォルトのRubyに変更。

$ rvm default

デフォルトの設定を確認。

$ rvm list default
Default Ruby (for new shells)
   ruby-1.8.7-p352 [ x86_64 ]

デフォルトの設定をリセットする。

$ rvm reset

RVM: Ruby Version Manager - 'rvm default' - setting default ruby for new terminals

システムのRubyに戻す

$ rvm system

Rubyのアップグレード

RVM: Ruby Version Manager - Upgrading RVM.
例: 1.9.2-p180を1.9.2-p290にアップグレードする

$ rvm upgrade 1.9.2-p180 1.9.2-p290

screenで使う場合

~/.screenrcに以下を記述する。

shell -${SHELL}

RVM: Ruby Version Manager - RVM inside Screen

RubyGems

gemを使う時にsudoしないこと。

RVM: Ruby Version Manager - 'rvm gemdir' - RubyGems and RVM

Ruby 1.9.2 にruby-debugをインストール

Ruby 1.9.2 では「ruby-debug19」をインストールする。
debuggerを入れた方がよい。
1.9.2、1.9.3で動作するruby-debug19のfork「debugger」

<strike>$ gem install ruby-debug19</strike>
$ gem install debugger

Ruby 1.9.2 にmongrelをインストール

Ruby 1.9.2 では、現時点では、1.2.0.pre2をインストールする。
mongrel | RubyGems.org | your community gem host

$ gem install mongrel -v 1.2.0.pre2 --pre

SQL Client for Mac OS X that works with MS SQL Server

SQL Client for Mac OS X that works with MS SQL Server - Stack Overflow

Java-based Oracle SQL Developer has a plugin module that supports SQL Server. I use it regularly on my Mac. It's free, too.
Update: here's how to install the SQL Server plugin:
* Run SQL Developer
* go to this menu item: Tools/Preferences/Database/Third Party JDBC Drivers
* Click help.
* It will have pointers to the jar files for mysql, sqlserver, etc.
* SQL Server jar file is available here: http://jtds.sourceforge.net