sqlite3のインストールとrailsアプリケーションの作成
railsのアプリケーション作成
/home/username/srcに移動。
$ mkdir rails $ cd rails $ rails new myapp create create README.rdoc create Rakefile create config.ru create .gitignore create Gemfile create app create app/assets/images/rails.png create app/assets/javascripts/application.js create app/assets/stylesheets/application.css create app/controllers/application_controller.rb create app/helpers/application_helper.rb create app/mailers create app/models create app/views/layouts/application.html.erb create app/mailers/.gitkeep create app/models/.gitkeep create config create config/routes.rb create config/application.rb create config/environment.rb create config/environments create config/environments/development.rb create config/environments/production.rb create config/environments/test.rb create config/initializers create config/initializers/backtrace_silencers.rb create config/initializers/inflections.rb create config/initializers/mime_types.rb create config/initializers/secret_token.rb create config/initializers/session_store.rb create config/initializers/wrap_parameters.rb create config/locales create config/locales/en.yml create config/boot.rb create config/database.yml create db create db/seeds.rb create doc create doc/README_FOR_APP create lib create lib/tasks create lib/tasks/.gitkeep create lib/assets create lib/assets/.gitkeep create log create log/.gitkeep create public create public/404.html create public/422.html create public/500.html create public/favicon.ico create public/index.html create public/robots.txt create script create script/rails create test/fixtures create test/fixtures/.gitkeep create test/functional create test/functional/.gitkeep create test/integration create test/integration/.gitkeep create test/unit create test/unit/.gitkeep create test/performance/browsing_test.rb create test/test_helper.rb create tmp/cache create tmp/cache/assets create vendor/assets/javascripts create vendor/assets/javascripts/.gitkeep create vendor/assets/stylesheets create vendor/assets/stylesheets/.gitkeep create vendor/plugins create vendor/plugins/.gitkeep run bundle install Enter your password to install the bundled RubyGems to your system: Fetching source index for https://rubygems.org/ Using rake (0.9.2.2) Using i18n (0.6.0) Using multi_json (1.0.4) Using activesupport (3.2.1) Using builder (3.0.0) Using activemodel (3.2.1) Using erubis (2.7.0) Using journey (1.0.1) Using rack (1.4.1) Using rack-cache (1.1) Using rack-test (0.6.1) Using hike (1.2.1) Using tilt (1.3.3) Using sprockets (2.1.2) Using actionpack (3.2.1) Using mime-types (1.17.2) Using polyglot (0.3.3) Using treetop (1.4.10) Using mail (2.4.1) Using actionmailer (3.2.1) Using arel (3.0.0) Using tzinfo (0.3.31) Using activerecord (3.2.1) Using activeresource (3.2.1) Using bundler (1.0.21) Using coffee-script-source (1.2.0) Using execjs (1.3.0) Using coffee-script (2.2.0) Using rack-ssl (1.3.2) Using json (1.6.5) Using rdoc (3.12) Using thor (0.14.6) Using railties (3.2.1) Using coffee-rails (3.2.2) Using jquery-rails (2.0.0) Using rails (3.2.1) Using sass (3.1.13) Using sass-rails (3.2.4) Installing sqlite3 (1.3.5) with native extensions Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. /usr/bin/ruby extconf.rb checking for sqlite3.h... no sqlite3.h is missing. Try 'port install sqlite3 +universal' or 'yum install sqlite-devel' and check your shared library search path (the location where your sqlite3 shared library is located).sqlite-develがないよと怒られた。 CentOS 5.4のデフォルトのsqlite-develのrpmをインストール。extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options. Provided configuration options: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include=${opt-dir}/include --with-opt-lib --without-opt-lib=${opt-dir}/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=/usr/bin/ruby --with-sqlite3-dir --without-sqlite3-dir --with-sqlite3-include --without-sqlite3-include=${sqlite3-dir}/include --with-sqlite3-lib --without-sqlite3-lib=${sqlite3-dir}/lib --enable-local --disable-local Gem files will remain installed in /home/sai/.bundler/tmp/24375/gems/sqlite3-1.3.5 for inspection. Results logged to /home/sai/.bundler/tmp/24375/gems/sqlite3-1.3.5/ext/sqlite3/gem_make.out 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.$ sudo rpm -ivh sqlite-devel-3.3.6-5.i386.rpmもう一度railsアプリケーション作成。create create README.rdoc create Rakefile create config.ru create .gitignore create Gemfile create app create app/assets/images/rails.png create app/assets/javascripts/application.js create app/assets/stylesheets/application.css create app/controllers/application_controller.rb create app/helpers/application_helper.rb create app/mailers create app/models create app/views/layouts/application.html.erb create app/mailers/.gitkeep create app/models/.gitkeep create config create config/routes.rb create config/application.rb create config/environment.rb create config/environments create config/environments/development.rb create config/environments/production.rb create config/environments/test.rb create config/initializers create config/initializers/backtrace_silencers.rb create config/initializers/inflections.rb create config/initializers/mime_types.rb create config/initializers/secret_token.rb create config/initializers/session_store.rb create config/initializers/wrap_parameters.rb create config/locales create config/locales/en.yml create config/boot.rb create config/database.yml create db create db/seeds.rb create doc create doc/README_FOR_APP create lib create lib/tasks create lib/tasks/.gitkeep create lib/assets create lib/assets/.gitkeep create log create log/.gitkeep create public create public/404.html create public/422.html create public/500.html create public/favicon.ico create public/index.html create public/robots.txt create script create script/rails create test/fixtures create test/fixtures/.gitkeep create test/functional create test/functional/.gitkeep create test/integration create test/integration/.gitkeep create test/unit create test/unit/.gitkeep create test/performance/browsing_test.rb create test/test_helper.rb create tmp/cache create tmp/cache/assets create vendor/assets/javascripts create vendor/assets/javascripts/.gitkeep create vendor/assets/stylesheets create vendor/assets/stylesheets/.gitkeep create vendor/plugins create vendor/plugins/.gitkeep run bundle install Fetching source index for https://rubygems.org/ Using rake (0.9.2.2) Using i18n (0.6.0) Using multi_json (1.0.4) Using activesupport (3.2.1) Using builder (3.0.0) Using activemodel (3.2.1) Using erubis (2.7.0) Using journey (1.0.1) Using rack (1.4.1) Using rack-cache (1.1) Using rack-test (0.6.1) Using hike (1.2.1) Using tilt (1.3.3) Using sprockets (2.1.2) Using actionpack (3.2.1) Using mime-types (1.17.2) Using polyglot (0.3.3) Using treetop (1.4.10) Using mail (2.4.1) Using actionmailer (3.2.1) Using arel (3.0.0) Using tzinfo (0.3.31) Using activerecord (3.2.1) Using activeresource (3.2.1) Using bundler (1.0.21) Using coffee-script-source (1.2.0) Using execjs (1.3.0) Using coffee-script (2.2.0) Using rack-ssl (1.3.2) Using json (1.6.5) Using rdoc (3.12) Using thor (0.14.6) Using railties (3.2.1) Using coffee-rails (3.2.2) Using jquery-rails (2.0.0) Using rails (3.2.1) Using sass (3.1.13) Using sass-rails (3.2.4) Installing sqlite3 (1.3.5) with native extensions Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. /usr/bin/ruby extconf.rb checking for sqlite3.h... yes checking for sqlite3_libversion_number() in -lsqlite3... yes checking for rb_proc_arity()... no checking for sqlite3_initialize()... no checking for sqlite3_backup_init()... no checking for sqlite3_column_database_name()... no checking for sqlite3_enable_load_extension()... no checking for sqlite3_load_extension()... no creating Makefile make gcc -I. -I. -I/usr/lib/ruby/1.8/i686-linux -I. -D_FILE_OFFSET_BITS=64 -fPIC -g -O2 -c backup.c gcc -I. -I. -I/usr/lib/ruby/1.8/i686-linux -I. -D_FILE_OFFSET_BITS=64 -fPIC -g -O2 -c statement.c statement.c: In function ‘bind_param’: statement.c:259: error: ‘sqlite3_int64’ undeclared (first use in this function) statement.c:259: error: (Each undeclared identifier is reported only once statement.c:259: error: for each function it appears in.) make: *** [statement.o] エラー 1 Gem files will remain installed in /home/sai/.bundler/tmp/24542/gems/sqlite3-1.3.5 for inspection. Results logged to /home/sai/.bundler/tmp/24542/gems/sqlite3-1.3.5/ext/sqlite3/gem_make.out 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.gemでsqlite3をインストール。$ sudo gem install sqlite3 -v '1.3.5' Building native extensions. This could take a while... ERROR: Error installing sqlite3: ERROR: Failed to build gem native extension. /usr/bin/ruby extconf.rb checking for sqlite3.h... yes checking for sqlite3_libversion_number() in -lsqlite3... yes checking for rb_proc_arity()... no checking for sqlite3_initialize()... no checking for sqlite3_backup_init()... no checking for sqlite3_column_database_name()... no checking for sqlite3_enable_load_extension()... no checking for sqlite3_load_extension()... no creating Makefile make gcc -I. -I. -I/usr/lib/ruby/1.8/i686-linux -I. -D_FILE_OFFSET_BITS=64 -fPIC -g -O2 -c backup.c gcc -I. -I. -I/usr/lib/ruby/1.8/i686-linux -I. -D_FILE_OFFSET_BITS=64 -fPIC -g -O2 -c statement.c statement.c: In function ‘bind_param’: statement.c:259: error: ‘sqlite3_int64’ undeclared (first use in this function) statement.c:259: error: (Each undeclared identifier is reported only once statement.c:259: error: for each function it appears in.) make: *** [statement.o] エラー 1 Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/sqlite3-1.3.5 for inspection. Results logged to /usr/lib/ruby/gems/1.8/gems/sqlite3-1.3.5/ext/sqlite3/gem_make.outhttp://d.hatena.ne.jp/hachiilcane/20110121/1295620570 ここを見ると、なにやら、 sqlite3-ruby only supports sqlite3 versions 3.6.16+, please upgrade! こういうことらしい。 sqliteのバージョンを確認。[root@localhost ~]# yum list | grep sqlite sqlite.i386 3.3.6-5 installed sqlite-devel.i386 3.3.6-5 installed明らかに古いです。 http://www.sqlite.org/download.html ここからソースをダウンロードしてきて、checkinstallでrpmパッケージ化する。# wget http://www.sqlite.org/sqlite-autoconf-3070400.tar.gz # tar xzvf sqlite-autoconf-3070400.tar.gz # cd sqlite-autoconf-3070400 # ./configure # checkinstall/usr/src/redhat/RPMS/i386 ここにrpmができた。 では、インストール# cd /usr/src/redhat/RPMS/i386 # rpm -ivh sqlite-autoconf-3070400-1.i386.rpmで、再度gemでsqlite3をインストールしてみる。# gem install sqlite3 -v '1.3.5' Building native extensions. This could take a while... Successfully installed sqlite3-1.3.5 1 gem installed Installing ri documentation for sqlite3-1.3.5... Installing RDoc documentation for sqlite3-1.3.5...インストールできた! 再度、railsアプリケーションを作成してみる。$ cd /home/username/src/rails $ rails new myapp create create README.rdoc create Rakefile create config.ru create .gitignore create Gemfile create app create app/assets/images/rails.png create app/assets/javascripts/application.js create app/assets/stylesheets/application.css create app/controllers/application_controller.rb create app/helpers/application_helper.rb create app/mailers create app/models create app/views/layouts/application.html.erb create app/mailers/.gitkeep create app/models/.gitkeep create config create config/routes.rb create config/application.rb create config/environment.rb create config/environments create config/environments/development.rb create config/environments/production.rb create config/environments/test.rb create config/initializers create config/initializers/backtrace_silencers.rb create config/initializers/inflections.rb create config/initializers/mime_types.rb create config/initializers/secret_token.rb create config/initializers/session_store.rb create config/initializers/wrap_parameters.rb create config/locales create config/locales/en.yml create config/boot.rb create config/database.yml create db create db/seeds.rb create doc create doc/README_FOR_APP create lib create lib/tasks create lib/tasks/.gitkeep create lib/assets create lib/assets/.gitkeep create log create log/.gitkeep create public create public/404.html create public/422.html create public/500.html create public/favicon.ico create public/index.html create public/robots.txt create script create script/rails create test/fixtures create test/fixtures/.gitkeep create test/functional create test/functional/.gitkeep create test/integration create test/integration/.gitkeep create test/unit create test/unit/.gitkeep create test/performance/browsing_test.rb create test/test_helper.rb create tmp/cache create tmp/cache/assets create vendor/assets/javascripts create vendor/assets/javascripts/.gitkeep create vendor/assets/stylesheets create vendor/assets/stylesheets/.gitkeep create vendor/plugins create vendor/plugins/.gitkeep run bundle install Enter your password to install the bundled RubyGems to your system: Fetching source index for https://rubygems.org/ Using rake (0.9.2.2) Using i18n (0.6.0) Using multi_json (1.0.4) Using activesupport (3.2.1) Using builder (3.0.0) Using activemodel (3.2.1) Using erubis (2.7.0) Using journey (1.0.1) Using rack (1.4.1) Using rack-cache (1.1) Using rack-test (0.6.1) Using hike (1.2.1) Using tilt (1.3.3) Using sprockets (2.1.2) Using actionpack (3.2.1) Using mime-types (1.17.2) Using polyglot (0.3.3) Using treetop (1.4.10) Using mail (2.4.1) Using actionmailer (3.2.1) Using arel (3.0.0) Using tzinfo (0.3.31) Using activerecord (3.2.1) Using activeresource (3.2.1) Using bundler (1.0.21) Using coffee-script-source (1.2.0) Using execjs (1.3.0) Using coffee-script (2.2.0) Using rack-ssl (1.3.2) Using json (1.6.5) Using rdoc (3.12) Using thor (0.14.6) Using railties (3.2.1) Using coffee-rails (3.2.2) Using jquery-rails (2.0.0) Using rails (3.2.1) Using sass (3.1.13) Using sass-rails (3.2.4) Using sqlite3 (1.3.5) Installing uglifier (1.2.3) Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.お!できた!$ tree . `-- myapp |-- Gemfile |-- Gemfile.lock |-- README.rdoc |-- Rakefile |-- app | |-- assets | | |-- images | | | `-- rails.png | | |-- javascripts | | | `-- application.js | | `-- stylesheets | | `-- application.css | |-- controllers | | `-- application_controller.rb | |-- helpers | | `-- application_helper.rb | |-- mailers | |-- models | `-- views | `-- layouts | `-- application.html.erb |-- config | |-- application.rb | |-- boot.rb | |-- database.yml | |-- environment.rb | |-- environments | | |-- development.rb | | |-- production.rb | | `-- test.rb | |-- initializers | | |-- backtrace_silencers.rb | | |-- inflections.rb | | |-- mime_types.rb | | |-- secret_token.rb | | |-- session_store.rb | | `-- wrap_parameters.rb | |-- locales | | `-- en.yml | `-- routes.rb |-- config.ru |-- db | `-- seeds.rb |-- doc | `-- README_FOR_APP |-- lib | |-- assets | `-- tasks |-- log |-- public | |-- 404.html | |-- 422.html | |-- 500.html | |-- favicon.ico | |-- index.html | `-- robots.txt |-- script | `-- rails |-- test | |-- fixtures | |-- functional | |-- integration | |-- performance | | `-- browsing_test.rb | |-- test_helper.rb | `-- unit |-- tmp | `-- cache | `-- assets `-- vendor |-- assets | |-- javascripts | `-- stylesheets `-- plugins 38 directories, 37 files