Hatena::Grouprubyist

たばさの RSSフィード

06/14(土) 2008

install

install - たばさの を含むブックマーク はてなブックマーク - install - たばさの

ubuntuにもどってrequire'sqlite3'が1.9,1.8,1.8.7どれもだめなのでググって

http://d.hatena.ne.jp/roadmanprog/20071113/1194974452

この辺を参考にやってみるも最終的にできたようなメッセージのような気もするが相変わらずrequireできず。

1.9.0ではzlibがないといわれるのでビルドしたりする、cygwinの説明見たりして、あwindowsじゃないよ、とか。

(略)
$ sudo gem install sqlite3-ruby
[sudo] password for (略)
/usr/local/lib/ruby/1.9.0/rubygems/package.rb:10:in `require': no such file to load -- zlib (LoadError)
	from /usr/local/lib/ruby/1.9.0/rubygems/package.rb:10:in `<top (required)>'

(略)
$ sudo /usr/bin/gem install sqlite3-ruby
Bulk updating Gem source index for: http://gems.rubyforge.org
Select which gem to install for your platform (i486-linux)
 1. sqlite3-ruby 1.2.2 (mswin32)
 2. sqlite3-ruby 1.2.2 (ruby)
 3. sqlite3-ruby 1.2.1 (mswin32)
 4. sqlite3-ruby 1.2.1 (ruby)
 5. Skip this gem
 6. Cancel installation
> 2
Building native extensions.  This could take a while...
Successfully installed sqlite3-ruby-1.2.2
Installing ri documentation for sqlite3-ruby-1.2.2...
Installing RDoc documentation for sqlite3-ruby-1.2.2...
$ 

(これで出来たんじゃないのかな。しかしどこにあるのかわからない。)


$ ruby1.8.7 -v sqlitetes.rb
ruby 1.8.7 (2008-05-31 patchlevel 0) [i686-linux]
sqlitetes.rb:3:in `require': no such file to load -- sqlite3 (LoadError)
	from sqlitetes.rb:3
$ ruby1.8 -v sqlitetes.rb
ruby 1.8.6 (2007-09-24 patchlevel 111) [i486-linux]
sqlitetes.rb:3:in `require': no such file to load -- sqlite3 (LoadError)
	from sqlitetes.rb:3
$ ruby -v sqlitetes.rb
ruby 1.9.0 (2007-12-25 revision 14709) [i686-linux]
sqlitetes.rb:3:in `require': no such file to load -- sqlite3 (LoadError)
	from sqlitetes.rb:3:in `<main>'


ruby関係なく)sqlite3はあるようなのでいじる。

$ sqlite3 hdp.db
SQLite version 3.4.2
Enter ".help" for instructions
sqlite> select count(*) from tbl_test;
52473
sqlite>


$ sudo aptitude install sqlite3-ruby
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
拡張状態情報を読み込んでいます       
パッケージの状態を初期化しています... 完了
タグのデータベースを構築しています... 完了  
"sqlite3-ruby" パッケージは見つかりませんでした。
しかし、以下のパッケージ名に "sqlite3-ruby" が含まれています:
  libdbd-sqlite3-ruby libsqlite3-ruby libsqlite3-ruby1.8 libdbd-sqlite3-ruby1.8 
"sqlite3-ruby" パッケージは見つかりませんでした。

(略)

$ sudo aptitude install libsqlite3-ruby

で1.8は動いたか

$ ruby1.8 -v sqlitetes.rb
ruby 1.8.6 (2007-09-24 patchlevel 111) [i486-linux]
/usr/lib/ruby/1.8/i486-linux/sqlite3_api.so: warning: global variable `$swig_runtime_data_type_pointer2' not initialized
/usr/lib/ruby/1.8/sqlite3/errors.rb:94:in `check': table tbl_test already exists (SQLite3::SQLException)
	from /usr/lib/ruby/1.8/sqlite3/statement.rb:71:in `initialize'
	from /usr/lib/ruby/1.8/sqlite3/database.rb:184:in `new'
	from /usr/lib/ruby/1.8/sqlite3/database.rb:184:in `prepare'
	from /usr/lib/ruby/1.8/sqlite3/database.rb:211:in `execute'
	from sqlitetes.rb:14

googleで”$swig_runtime_data_type_pointer2”。んー。


$ irb1.8
irb(main):005:0> require'sqlite3'
=> true
irb(main):006:0>  db = SQLite3::Database.new("hdp.db")
irb(main):007:0> db.execute("select count(*) from prog")
=> [["2581"]]

一応動いてはいる



わかった。スクリプト直してなかった。あほすぎ


#!/usr/bin/ruby
require 'sqlite3'


db = SQLite3::Database.new("hdp.db")
p db.execute("select count(*) from prog")



下が修正前


#!/usr/bin/ruby
require 'sqlite3'


SQL=<<EOS
create table tbl_test (
    id    integer,
    name  text
);
EOS

db = SQLite3::Database.new("hdp.db")
db.execute(SQL)

tableは存在するのに作成しようとした。うえのwarning-vのせいで特に問題はない、かな。

結論:エラーメッセージはよく読むべし。またそれか。

でもまだインストールはよく分からない。gemじゃなくてaptitudeでやるということ?


mechanizeもエラーがでたのでインストール

$ sudo aptitude install mechanize
[sudo] password for .. 
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
拡張状態情報を読み込んでいます       
パッケージの状態を初期化しています... 完了
タグのデータベースを構築しています... 完了  
"mechanize" パッケージは見つかりませんでした。
しかし、以下のパッケージ名に "mechanize" が含まれています:
  libtest-www-mechanize-perl python2.4-mechanize python2.5-mechanize python-mechanize 
  libwww-mechanize-shell-perl libwww-mechanize-formfiller-perl libwww-mechanize-perl 
  libwww-mechanize-ruby-doc libtest-www-mechanize-cgiapp-perl libwww-mechanize-ruby 
  libwww-mechanize-ruby1.8 libwww-mechanize-ruby1.9 

(略)

$ sudo aptitude install libwww-mechanize-ruby1.8

(略)

インタープリタのpath

| インタープリタのpath - たばさの を含むブックマーク はてなブックマーク - インタープリタのpath - たばさの


# test-name.rb
p $0,ARGV[0..8],File.expand_path($0)

$ ruby1.8 test-name.rb test desu

"test-selfname.rb"

["test", "desu"]

"/media/disk/p/ruby/test-selfname.rb"

$

この"ruby1.8" の入った変数は、と思ったらあったENV["_"]。ubuntu.

# test-name.rb
p $0,ARGV[0..8],File.expand_path($0),ENV["_"]
system(ENV["_"]+" test-name.rb")

これでいいかな

$ ruby test-name.rb test desu

"test-selfname.rb"

["test", "desu"]

"/media/disk/path/test-name.rb"

"/usr/local/bin/ruby"

"test-name.rb"

[]

"/media/disk/path/test-name.rb"

"/usr/local/bin/ruby"

"test-name.rb"

[]

"/media/disk/path/test-name.rb"

"/usr/local/bin/ruby"

"test-name.rb"

[]

(略)

トラックバック - http://rubyist.g.hatena.ne.jp/hatecha/20080614
カレンダー
<< 2008/06 >>
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
archive Error : RSSが取得できませんでした。