Точка входа Ruby on Rails sqlite3 не найдена - PullRequest
1 голос
/ 20 апреля 2011

Я не могу заставить Ruby on Rails работать больше (возился с Ruby [не Rails] некоторое время назад, бла-бла), и я застрял по причине / решению моей проблемы. Я использую XP, Ruby 1.9.2 (p180), sqlite3 (1.3.3 x86-mingw32), rails (3.0.7), и вот что я сделал сегодня вечером:

  1. DL / Установить Ruby (rubyinstaller-1.9.2-p180)
  2. DL sqlite3.exe, .dll и .def поместили их в каталог \ ruby192 \ bin \ (обратите внимание, после проблемы я поместил файлы .exe, .dll и .def в каталог lib sqlite3 gem)
  3. gem install sqlite3, activesupport и rails (в таком порядке)
  4. rails new demo
  5. (во вновь созданной папке) rails s

и что я получаю из всего этого ...

Не удалось найти точку входа в процедуру sqlite3_column_database_name в библиотеке динамических ссылок sqlite3.dll

 C:/Ruby192/lib/ruby/gems/1.9.1/gems/sqlite3-1.3.3-x86-mingw32/lib/sqlite3.rb:6:i
n `require': no such file to load -- sqlite3/sqlite3_native (LoadError)
 from C:/Ruby192/lib/ruby/gems/1.9.1/gems/sqlite3-1.3.3-x86-mingw32/lib/s
qlite3.rb:6:in `rescue in <top (required)>'
 from C:/Ruby192/lib/ruby/gems/1.9.1/gems/sqlite3-1.3.3-x86-mingw32/lib/s
qlite3.rb:2:in `<top (required)>'
 from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/runt
ime.rb:68:in `require'
 from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/runt
ime.rb:68:in `block (2 levels) in require'
 from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/runt
ime.rb:66:in `each'
 from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/runt
ime.rb:66:in `block in require'
 from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/runt
ime.rb:55:in `each'
 from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/runt
ime.rb:55:in `require'
 from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.12/lib/bundler.rb:1
20:in `require'
 from C:/ruby/demo/config/application.rb:7:in `<top (required)>'
 from C:/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.0.7/lib/rails/comman
ds.rb:28:in `require'
 from C:/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.0.7/lib/rails/comman
ds.rb:28:in `block in <top (required)>'
 from C:/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.0.7/lib/rails/comman
ds.rb:27:in `tap'
 from C:/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.0.7/lib/rails/comman
ds.rb:27:in `<top (required)>'
 from script/rails:6:in `require'
 from script/rails:6:in `<main>'

Ответы [ 2 ]

1 голос
/ 20 апреля 2011

да, у меня недавно была похожая проблема на моем ноутбуке с Windows.

проблема в том, что вы используете самые последние двоичные файлы sqlite3, но кажется, что гем не может с ними работатьК сожалению, я не помню, какую именно версию двоичных файлов sqlite3 решили.Просто попробуйте несколько предыдущих версий

0 голосов
/ 22 апреля 2011

У меня была та же самая проблема на моей коробке Windows 7 x64 с теми же рельсами и ruby-версией, что и у вас.Я узнал, что последняя версия sqlite3 версии 3.7.6.2 несовместима.Я смог скачать 3.7.4 по этой ссылке: sqlite3 версия 3.7.4 .

Использование версии 3.7.4, просто заменив файл dll sqlite3 в моем каталоге ruby ​​\ bin, показалось мне чарующим

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...