rvmで複数のrubyバージョンを管理する

rvmで複数のrubyバージョンを管理します。OSはCentOSです。

1.rvmのインストール
rvmをインストールして、コマンドをPATHに通します。

cd ~
curl -s https://rvm.beginrescueend.com/install/rvm > rvm-install.sh
chmod +x  rvm-install.sh
./rvm-install.sh
echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" #load rvm function ' >> ~/.bash_profile
. ~/.bash_profile

2.Rubyのインストール
ここでは、rubyの1.9.2をインストールします。

rvm install 1.9.2

3.Rubyの選択

rvm use 1.9.2

以下のコマンドでRubyのバージョンを確認します。

ruby -v 

これで、1.9.2のRubyを使うことができます。1.8.7をつかう場合は、2.と3.の手順で1.8.7を指定してください。

Ruby On Rails メモ bundle installコマンドでmysql2のインストールが失敗する場合の対処法

Ruby On Rails のbundler installでmysql2のインストールに失敗する場合には、以下のコマンドを実行して
からインストールすると対応できる場合があります。

bundle config build.mysql --with-mysql-config=/usr/local/mysql/bin/mysql_config

おそらく、mysql2ではネイティブのMySQLクライアントを使うために、mysql_confingを参照している
と思われます。

  • with-mysql-configは自分がビルドしたMySQLのパスに合わせて変更が必要です。

Rails勉強会 2011/9/17(土) まとめ

1.Rails開発に出てくる単語のまとめ
  (1)RSpecとは?
   ・TestUnitとは書き方が違う。
   ・TestUnitはassertを使う。RSpecDSLでテストよりの領域をカバーする。
   ・RSpecのテストコードはこうなるべきという意味を示す。
   ・Railsの開発者はRSpecでテストをすることが多い。

    【参考URL】テストを短く書くためには
     http://d.hatena.ne.jp/t-wada/20100228/p1

    【参考URL】マッチャーとは?
     https://www.relishapp.com/rspec/rspec-rails

  (2)Cucumberとは?
   ・自然記述で書く。
   ・インテグレーションテスト。
   ・日本語でシナリオを書く。
   (操作の一連の流れを書く)
   
   【参考URL】達人出版会(日本語では一番詳しい情報が書いてある)
    http://tatsu-zine.com/
   
  (3)AutoTestとCIの違い
   ・変更したソースに対するテストを自動的に実行する。
   ・Guardを使う。
   ・prefetch-rspec
   ・RSpec,TestUnitの起動が遅い。そもそもRailsの起動が遅い。

  (4)CI
   ・テストサーバを立てる。
   ・Jenkinsがよく話題に出てくる。
   ・バージョン管理ソフトが関連する。hookで実行したりする。
   ・人件費が高くなっていて、コンピュータでテストを自動化すればいいという発送。

  (5)BigTuna
   機能が小さい。独自の拡張もしている。現在はJenkinsへ移行している場合が多い。

  (6)Travis CI
   ・githubと連携する。
   ・メモリを多く使う。

  (7)Heroku Dyno
   WEB Dyno
   Worker Dyno

   1台ずつぐらいなら無料で動かせる。
  
  (8)Bundle
   ・gemの管理ツール
   ・vendor配下にインストールする場合はbundleコマンドのオプションを使う。
   
  (9)Chef
   サーバの環境構築ツール

  (10)EventMachine
   http://keijinsonyaban.blogspot.com/2010/12/eventmachine.html

  (11)初心者におすすめの勉強法・本は?
   ・Rails 3レシピブック
   ・Rails Tutorialをひと通りやって見る
   ・Rails Guide は必要なところをかいつまんで勉強する。
  
  (12)管理画面の自動生成
   rails-adminがデファクトスタンダード

  (13)SCSS
   ・CSSを書きやすくしたもの。

  (14)Git
   ・db/schemaをコミットするか? → しないことが多い。
   ・Gemfile.lockをコミットするか?  → することが多い。
   ・gitignoreを使って除外するものを指定する。
    https://github.com/github/gitignore/blob/master/Rails.gitignore
  
  (15)jpmobile
   ・モバイルサイトを使うなら必須
  
  (16)入力補完(rails.vim)
   ・補完はあまり使われない。→補完するより入力したほうが早い。
   ・長いソースコードはコピーしてくる。

2.ソースコードリーディング
 Railsの構造を知るために良い本。
 http://pragprog.com/book/jvrails/crafting-rails-applications

CentOSにGitをソースからビルドしてインストールする。

Ruby On Railsの勉強を始めました。
Linux上にRubyRailsをインストールして開発する予定です。まずは、バージョン管理用のGitをインストールします。バージョン管理システムとしては、Subversionも候補にあがりますが、ここではGitにトライしました。今回、Gitを選択した理由としては、GitがSubversionより高速であることや、Gitの仕組みを前々から理解したいと思っていたためです。

1.前提条件
 OS:CentOS 5.5(64bit)
gccなどはインストール済みです。

2.gitのインストール
ソースを/usr/local/srcに配置して解凍します。

/usr/local/src/git-1.7.4.1.tar.bz2
cd /usr/local/src
tar -jxvf git-1.7.4.1.tar.bz2
cd git-1.7.4.1 

インストールします。

./configure --prefix=/usr/local
make intall

Gitのインストールはこれだけです。次にmanpageをインストールします。

/usr/local/src/git-manpages-1.7.4.tar.gz
cd /usr/local/src
tar -zvxf git-manpages-1.7.4.tar.gz


解凍すると、man1、man5、man7が作成されます。
これを/usr/local/manにコピーします。

cp -r man1/ /usr/local/share/man/
cp -r man5/ /usr/local/share/man/
cp -r man7/ /usr/local/share/man/

以下のコマンドを実行して、問題がなければインストール成功です。

git --version
man git

作業は以上です。

MySQL 5.5.8でリモート接続に失敗した場合の対処法

以下のエラーがでた場合の対処法です。原因はMySQLサーバが名前解決出来ていないためです。

ERROR 1042 (HY000): Can't get hostname for your address

/etc/hostsに追加するか、DNSを設定すれば解決すると思われますが、ローカルでちょっと開発していたりすると設定が少し面倒です。なので、MySQLの設定を変更して対応してしまいましょう。

/etc/my.cnfを編集します。

[mysqld]
...
skip-name-resolve ←一行追加
...

MySQLを再起動します。

service mysql restart

リモートから以下のコマンドで接続して確認します。

mysql -u ユーザ名 -h ホストのIPアドレス -p

手順は以上です。

MySQL 5.5.8をcmakeでインストールする

1.前提
OS : CentOS 5.5 x86_64
MySQL : 5.5.8
作業は基本的にrootユーザで実行します。

2.ユーザの追加

 groupadd mysql
 useradd -g mysql mysql

3.ディレクトリの作成
MySQLをインストールするディレクトリを作成します。

 mkdir /usr/local/mysql_5.5.8

4.インストール
/usr/local/src/にmysql-5.5.8.tar.gzを配置します。
ここでは、インターネットからダウンロードして、FTPなどで既に配置してあるものとします。

 cd /usr/local/src/ 
 tar -zxvf mysql-5.5.8.tar.gz
 cd mysql-5.5.8


MySQL 5.5.8ではcmakeによるインストールが推奨されています。なので、cmakeを使います。

 cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql_5.5.8/
 make
 make install

他にもオプションが指定できそうですが、詳細はまだ理解できていません。

次にディレクトリの所有権を変更します。

 chown -R mysql:mysql /usr/local/mysql_5.5.8

データベースを初期化します。

 cd /usr/local/mysql_5.5.8/
 ./scripts/mysql_install_db --user=mysql

rootユーザで自動起動も設定しておきます。

 cd /usr/local/src/mysql-5.5.8/
 cp support-files/mysql.server /etc/init.d/mysql 
 chmod +x /etc/init.d/mysql
 chkconfig --add mysql

以下のコマンドを実行して状態を確認します。期待したランレベルでonになっていれば問題はありません。

 chkconfig --list

実行環境に合わせて、起動スクリプトを変更します。

 vi /etc/init.d/mysql
 basedir=/usr/local/mysql_5.5.8

設定ファイルをコピーします。設定ファイルは必要に応じて編集してください。

 cd /usr/local/src/mysql-5.5.8/
 cp support-files/my-medium.cnf /etc/my.cnf

インストールは以上です。serviceコマンドで起動しましょう。

 service mysql start


以下のコマンドでログイン出来れば、インストール成功です。

 /user/local/mysql_5.5.8/bin/mysql -u root

今後はcmake時のオプションや、InnoDBの理解を深めていきたいです。