Rails3では、データベースに日付を格納するときにUTCとするため、
日本時間のみを扱いたい場合はちょっと不便。
下記の方法で解決できる。
(参考URL: http://blog.libero-tecnologia.net/?p=40)
config/application.rbに下記2行を追加
config.time_zone = ‘Tokyo’
config.active_record.default_timezone = :local
2012年2月1日水曜日
2012年1月8日日曜日
Rails3.0 bundle install時のsqliteエラー解決方法
bundle install時に、次のようなエラーが出る場合がある。
An error occured while installing sqlite3 (1.3.5), and Bundler cannot continue.
Make sure that `gem install sqlite3 -v '1.3.5'` succeeds before bundling.
適切なバージョンのsqliteをインストールしていないために、このエラーが起きるようだ。
yumでsqliteをインストールしてみたが、インストールされるバージョン(3.3)が古いために解決できなかった。
sqlite3.5以上のソースをダウンロードしてインストールしてみた。
**** RPM package creation selected ***
**************************************
This package will be built according to these values:
1 - Summary: [ Package created with checkinstall 1.6.0 ]
2 - Name: [ sqlite-autoconf ]
3 - Version: [ 3070900 ]
4 - Release: [ 1 ]
5 - License: [ GPL ]
6 - Group: [ Applications/System ]
7 - Architecture: [ i386 ]
8 - Source location: [ sqlite-autoconf-3070900 ]
9 - Alternate source location: [ ]
10 - Requires: [ ]
11 - Provides: [ sqlite-autoconf ]
Enter a number to change any of them or press ENTER to continue: 2 #Nameを指定する
Enter new name:
>> sqlite
This package will be built according to these values:
1 - Summary: [ Package created with checkinstall 1.6.0 ]
2 - Name: [ sqlite ]
3 - Version: [ 3070900 ]
4 - Release: [ 1 ]
5 - License: [ GPL ]
6 - Group: [ Applications/System ]
7 - Architecture: [ i386 ]
8 - Source location: [ sqlite-autoconf-3070900 ]
9 - Alternate source location: [ ]
10 - Requires: [ ]
11 - Provides: [ sqlite-autoconf ]
Enter a number to change any of them or press ENTER to continue: 3 #Versionを指定する
Enter new version:
>> 3.7.9
This package will be built according to these values:
1 - Summary: [ Package created with checkinstall 1.6.0 ]
2 - Name: [ sqlite ]
3 - Version: [ 3.7.9 ]
4 - Release: [ 1 ]
5 - License: [ GPL ]
6 - Group: [ Applications/System ]
7 - Architecture: [ i386 ]
8 - Source location: [ sqlite-autoconf-3070900 ]
9 - Alternate source location: [ ]
10 - Requires: [ ]
11 - Provides: [ sqlite-autoconf ]
Enter a number to change any of them or press ENTER to continue: #Enterを押下
rpm -ivh /usr/src/redhat/RPMS/i386/sqlite-3.7.9-1.i386.rpm
sqliteがインストールされたことを確認する。
sqlite3
SQLite version 3.7.9 2011-11-01 00:52:41
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .q
Railsのbundle installを実行してみる。
bundle install
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.
なんとかうまくいった。ほっと一息。
An error occured while installing sqlite3 (1.3.5), and Bundler cannot continue.
Make sure that `gem install sqlite3 -v '1.3.5'` succeeds before bundling.
適切なバージョンのsqliteをインストールしていないために、このエラーが起きるようだ。
yumでsqliteをインストールしてみたが、インストールされるバージョン(3.3)が古いために解決できなかった。
yum install sqlite-devel #これではダメ!
sqlite3.5以上のソースをダウンロードしてインストールしてみた。
wget http://www.sqlite.org/sqlite-autoconf-3070900.tar.gz
tar zxvf sqlite-autoconf-3070900.tar.gz
cd sqlite-autoconf-3070900
./configure
tar zxvf sqlite-autoconf-3070900.tar.gz
cd sqlite-autoconf-3070900
./configure
make
checkinstall -R --fstrans=no --exclude=/selinux
****************************************** RPM package creation selected ***
**************************************
This package will be built according to these values:
1 - Summary: [ Package created with checkinstall 1.6.0 ]
2 - Name: [ sqlite-autoconf ]
3 - Version: [ 3070900 ]
4 - Release: [ 1 ]
5 - License: [ GPL ]
6 - Group: [ Applications/System ]
7 - Architecture: [ i386 ]
8 - Source location: [ sqlite-autoconf-3070900 ]
9 - Alternate source location: [ ]
10 - Requires: [ ]
11 - Provides: [ sqlite-autoconf ]
Enter a number to change any of them or press ENTER to continue: 2 #Nameを指定する
Enter new name:
>> sqlite
This package will be built according to these values:
1 - Summary: [ Package created with checkinstall 1.6.0 ]
2 - Name: [ sqlite ]
3 - Version: [ 3070900 ]
4 - Release: [ 1 ]
5 - License: [ GPL ]
6 - Group: [ Applications/System ]
7 - Architecture: [ i386 ]
8 - Source location: [ sqlite-autoconf-3070900 ]
9 - Alternate source location: [ ]
10 - Requires: [ ]
11 - Provides: [ sqlite-autoconf ]
Enter a number to change any of them or press ENTER to continue: 3 #Versionを指定する
Enter new version:
>> 3.7.9
This package will be built according to these values:
1 - Summary: [ Package created with checkinstall 1.6.0 ]
2 - Name: [ sqlite ]
3 - Version: [ 3.7.9 ]
4 - Release: [ 1 ]
5 - License: [ GPL ]
6 - Group: [ Applications/System ]
7 - Architecture: [ i386 ]
8 - Source location: [ sqlite-autoconf-3070900 ]
9 - Alternate source location: [ ]
10 - Requires: [ ]
11 - Provides: [ sqlite-autoconf ]
Enter a number to change any of them or press ENTER to continue: #Enterを押下
rpm -ivh /usr/src/redhat/RPMS/i386/sqlite-3.7.9-1.i386.rpm
sqliteがインストールされたことを確認する。
sqlite3
SQLite version 3.7.9 2011-11-01 00:52:41
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .q
Railsのbundle installを実行してみる。
mkdir work_rails_check
cd work_rails_check/
rails new checkapp
cd checkapp/bundle install
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.
なんとかうまくいった。ほっと一息。
2012年1月7日土曜日
CentOSにRails3.0を導入(CheckInstall使用)
今回、Rails3の導入にCheckInstallというツールを利用する。
CheckInstallの導入方法
以下Railsインストール手順
あらかじめgccをインストール
yum install gcc
あらかじめrpm-buildをインストール
yum install rpm-build
あらかじめzlib-develをインストール
yum install zlib-devel
あらかじめ必要なパッケージをインストール
yum install gcc gcc-c++ make perl zlib-devel openssl-devel readline-devel libxml2-devel bzip2-devel unzip libjpeg-devel libpng-devel freetype-devel rpm-build -y
Rubyソースコードをダウンロード(ruby-1.9.3-p0だと、Gemがうまく動作しない)
アーカイブを展開
コンパイルしてCheckInstallでRPMパッケージ化
ruby -v
ruby 1.9.2p290 (2011-07-09 revision 32553) [i686-linux]
Gemのバージョン確認。
gem env
RubyGems Environment:
- RUBYGEMS VERSION: 1.3.7
Railsインストール。(バージョン3.1.2だと、Railsバージョン確認でエラーが出る)
gem install rails -v 3.0
Railsバージョン確認
rails -v
Rails 3.0.0
以上でRailsのインストールが完了する。
できればRails3.1を使いたかったのだが、今回は妥協した。
CheckInstallの導入方法
以下Railsインストール手順
あらかじめ必要なパッケージをインストール
yum install gcc gcc-c++ make perl zlib-devel openssl-devel readline-devel libxml2-devel bzip2-devel unzip libjpeg-devel libpng-devel freetype-devel rpm-build -y
Rubyソースコードをダウンロード(ruby-1.9.3-p0だと、Gemがうまく動作しない)
wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p290.tar.bz2
アーカイブを展開
tar xjf ruby-1.9.2-p290.tar.bz2
コンパイルしてCheckInstallでRPMパッケージ化
cd ruby-1.9.2-p290
./configure
make
make
checkinstall -R --fstrans=no
・・・途中でいろいろ聞かれるが、EnterキーでOK
RPMパッケージからrubyをインストール
cd /usr/src/redhat/RPMS/i386/
rpm ivh ruby-1.9.2-p290-1.i386.rpm
Rubyのバージョンを確認。rpm ivh ruby-1.9.2-p290-1.i386.rpm
ruby -v
ruby 1.9.2p290 (2011-07-09 revision 32553) [i686-linux]
Gemのバージョン確認。
gem env
RubyGems Environment:
- RUBYGEMS VERSION: 1.3.7
Railsインストール。(バージョン3.1.2だと、Railsバージョン確認でエラーが出る)
gem install rails -v 3.0
Railsバージョン確認
rails -v
Rails 3.0.0
以上でRailsのインストールが完了する。
できればRails3.1を使いたかったのだが、今回は妥協した。
(未完成記事)CentOSにRails3を導入(CheckInstall使用)
こちらの新しい記事を参照してください。
以下の記事は古いものです。
今回、Rails3の導入にCheckInstallというツールを利用する。
CheckInstallの導入方法
以下Railsインストール手順
あらかじめgccをインストール
yum install gcc
あらかじめrpm-buildをインストール
あらかじめzlib-develをインストール
yum install zlib-devel
Rubyソースコードをダウンロード
アーカイブを展開
コンパイルしてCheckInstallでRPMパッケージ化
ruby -v
ruby 1.9.3p0 (2011-10-30 revision 33570) [i686-linux]
ここまではうまくいったものの、Gemが使用できない。
どなたか解決できるかた、お願いできませんか(・w・;
gem env
<internal:gem_prelude>:1:in `require': cannot load such file -- rubygems.rb (LoadError)
from <internal:gem_prelude>:1:in `<compiled>'
以下の記事は古いものです。
今回、Rails3の導入にCheckInstallというツールを利用する。
CheckInstallの導入方法
以下Railsインストール手順
あらかじめgccをインストール
yum install gcc
あらかじめrpm-buildをインストール
yum install rpm-build
あらかじめzlib-develをインストール
yum install zlib-devel
Rubyソースコードをダウンロード
wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p0.tar.bz2
アーカイブを展開
tar xjf ruby-1.9.3-p0.tar.bz2
コンパイルしてCheckInstallでRPMパッケージ化
cd ruby-1.9.3-p0
./configure
make
make
checkinstall -R --fstrans=no
・・・途中でいろいろ聞かれるが、EnterキーでOK
RPMパッケージからrubyをインストール
cd /usr/src/redhat/RPMS/i386/
rpm -ivh ruby-1.9.3-p0-1.i386.rpm
Rubyのバージョンを確認。rpm -ivh ruby-1.9.3-p0-1.i386.rpm
ruby -v
ruby 1.9.3p0 (2011-10-30 revision 33570) [i686-linux]
ここまではうまくいったものの、Gemが使用できない。
どなたか解決できるかた、お願いできませんか(・w・;
gem env
<internal:gem_prelude>:1:in `require': cannot load such file -- rubygems.rb (LoadError)
from <internal:gem_prelude>:1:in `<compiled>'
CentOSにCheckInstallを導入する
CheckInstallとは?
ソフトウェアのソースコードからRPMパッケージを簡単に作成できるツール。
ソースコードをコンパイルしてインストールした場合、そのソフトウェアのアンインストールなどの管理がしづらくなる。RPMを利用してインストールすれば、管理が容易になる。
導入手順
参考URL http://mymo.blog8.fc2.com/blog-entry-2.html
RPMforgeレポジトリを設定
wget http://dag.wieers.com/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
rpm -Uhv rpmforge-release-0.3.6-1.el5.rf.i386.rpm
デフォルトで無効になるように設定ファイルを次のように修正
vi /etc/yum.repos.d/rpmforge.repo
enabled = 0
RPMの署名を検証するキーを導入
RPMforgeのリポジトリを有効化
yum --enablerepo=rpmforge list
checkinstallのインストール
yum --enablerepo=rpmforge install checkinstall
ソフトウェアのソースコードからRPMパッケージを簡単に作成できるツール。
ソースコードをコンパイルしてインストールした場合、そのソフトウェアのアンインストールなどの管理がしづらくなる。RPMを利用してインストールすれば、管理が容易になる。
導入手順
参考URL http://mymo.blog8.fc2.com/blog-entry-2.html
RPMforgeレポジトリを設定
wget http://dag.wieers.com/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
rpm -Uhv rpmforge-release-0.3.6-1.el5.rf.i386.rpm
デフォルトで無効になるように設定ファイルを次のように修正
vi /etc/yum.repos.d/rpmforge.repo
enabled = 1
↓enabled = 0
RPMの署名を検証するキーを導入
wget http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
rpm --import RPM-GPG-KEY.dag.txtRPMforgeのリポジトリを有効化
yum --enablerepo=rpmforge list
checkinstallのインストール
yum --enablerepo=rpmforge install checkinstall
2011年11月26日土曜日
PHPUnitをNetBeansで使うときに「'".\php.exe"' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」というエラーの解決方法
PHPUnitをNetBeansで使いたいんだけど、「'".\php.exe"' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」って怒られる・・・(´・ω・`)
調査した結果、
C:\xampp\php\phpunit.batの中にヒントが隠されていた。
(phpunit.bat 一部抜粋)
if "%PHPBIN%" == "" set PHPBIN=.\php.exe
つまり、システム環境変数に、下記のようなものを追加してやればいい。
調査した結果、
C:\xampp\php\phpunit.batの中にヒントが隠されていた。
(phpunit.bat 一部抜粋)
if "%PHPBIN%" == "" set PHPBIN=.\php.exe
つまり、システム環境変数に、下記のようなものを追加してやればいい。
結果、問題なくPHPUnitが動作するようになった。
めでたしめでたし。
2011年11月10日木曜日
変数名に漢字やかなを使っても良いものか?
最近のプログラミング言語では、シンボルとして日本語を認識できるものがいくつかあるらしい。僕はそういうものはScalaしか知らないけどね。Rubyもできるんだったかな・・・記憶があいまいだ。
事務系のプログラムを作るときに、変数名やメソッド名に日本語を使いたい時があるんだ。「貸倒引当金」とか「利益余剰金」とか、英語に翻訳するのがすごくめんどうなのよね。そのままローマ字表記で「kashidaore_hikiate_kin」とかにしてもいいんだろうけど、どこにアンダーバーをいれればいいのか迷う。例えば、引当金だったら「hikiate_kin」にするのか「hikiatekin」にするのか、悩んじゃう。
プログラミングの原則的には「シンボルは英語で定義する」なんだけど、それを守ろうとするあまりに作業効率が極端に低下するのであれば、例外を認めてもいいんじゃないかな。社内でしか使わなかったり、特定の業種に特化したりするシステムを作る上であれば、なおさらね。
事務系のプログラムを作るときに、変数名やメソッド名に日本語を使いたい時があるんだ。「貸倒引当金」とか「利益余剰金」とか、英語に翻訳するのがすごくめんどうなのよね。そのままローマ字表記で「kashidaore_hikiate_kin」とかにしてもいいんだろうけど、どこにアンダーバーをいれればいいのか迷う。例えば、引当金だったら「hikiate_kin」にするのか「hikiatekin」にするのか、悩んじゃう。
プログラミングの原則的には「シンボルは英語で定義する」なんだけど、それを守ろうとするあまりに作業効率が極端に低下するのであれば、例外を認めてもいいんじゃないかな。社内でしか使わなかったり、特定の業種に特化したりするシステムを作る上であれば、なおさらね。
登録:
投稿 (Atom)