Проблемы с Ruby on rails msvcrt-ruby191.dll на XP - PullRequest
3 голосов
/ 27 сентября 2010

Я пытаюсь запустить Rails3 на XP Profesoinal и следую инструкциям здесь http://railstutorial.org и все время получаю следующие ошибки, даже пытаюсь вернуть статические страницы. Сообщение о том, что точка входа в процедуру rb_str2cstr не может быть расположена в библиотеке динамических ссылок msvcrt-ruby191.dll

Кроме того, на странице выдается сообщение об ошибке "Драйвер для sqlite3 не найден", хотя я еще не создал ни одной модели. Файлы sqlite3.exe, sqlite3.dll и sqlite3.def находятся в папке bin, и я запустил Gem install sqlite3-ruby.

Я также пробовал gem install mongrel --pre и инструкции http://www.ruby -forum.com / topic / 202770 # 882858 , но ничего не работает

error message

Ответы [ 6 ]

6 голосов
/ 17 октября 2010

Вот мое минимальное решение проблемы:

ruby -v => 1.9.2p0 
rails -v => 3.0.0 
gem -v => 1.3.7
  1. скачать sqlitedll-3_7_3.zip из http://sqlite.org/download.html
  2. copy sqlite3.def и sqlite3.dll для ruby ​​/ bin
  3. edit Gemfile:

    gem 'sqlite3-ruby', '1.3.1', :require => 'sqlite3'

  4. del Gemfile.lock

  5. bundle install
  6. rake db:migrate
2 голосов
/ 08 октября 2010

Мои версии:

ruby -v => 1.9.2p0
rails -v => 3.0.0
gem -v => 1.3.7

Gemfile:

gem 'sqlite3-ruby', :require => 'sqlite3'

Тогда:

  1. Удален Gemfile.lock
  2. rake db: migrate

Это исправило ошибку, о которой вы упоминали (то же самое всплывающее окно).

2 голосов
/ 06 октября 2010

Ruby 1.9.2, Rails 3.0

rake db:migrate выдает сообщение об ошибке:

Невозможно найти точку входа в процедуру rb_str2cstr в библиотеке динамических ссылок msvcrt-ruby191.dll

Решено следующим образом:

  1. Удалить gemlock.
  2. Изменить версию SQLite на 1.3.1.
  3. Выполнить:установка пакета.

rake db:migrate теперь дает правильные результаты.

0 голосов
/ 06 октября 2010

У меня была такая же проблема с XP Pro и руководством по Rails. У меня была установлена ​​версия SQLite 1.2.5, которая соответствовала тому, что сказано в главе 2 учебника.

Но когда я увидел комментарий Роджера об использовании версии 1.3.1, я установил эту версию (используя «gem install sqlite3-ruby -v 1.3.1»). Но он дал сообщение об использовании SQLite версии 3.6.23.1 вместе с соответствующим веб-сайтом. Поэтому я скачал его и заменил файлы sqlite3 .exe, .dll и .def в каталоге C: \ Ruby192 \ bin.

Затем я заглянул в гемфайл и увидел, что версия SQLite была 1.2.5 (согласно учебному пособию). Поэтому я изменил его на 1.3.1, удалил gemfile.lock, снова запустил «установку пакета», и после этого сработало «rake db: migrate».

0 голосов
/ 29 сентября 2010

для меня это означало «вам нужно каким-то образом обновить вашу версию sqlite3-ruby gem» http://betterlogic.com/roger/?p=3027

0 голосов
/ 28 сентября 2010

Metoo. Я пытался запустить rake db: migrate на Vista-64. (та же книга).

Последующие действия: я пытался решить какую-то другую проблему, удаляя и переустанавливая вещи и, возможно, все испортил Когда я столкнулся с этой проблемой, никакое количество 'gem uninstall' или 'bundle install's не решило бы ее. Пока я не удалил свой Gemfile.lock и не установил Bundle. Тогда мой 'rake db: migrate' бежал без ошибки. Это не выглядело как что-то установленное, так как весь вывод был «Использовать xxx», но я возьму это.

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