рвм конфлит с sqlite3 - PullRequest
       1

рвм конфлит с sqlite3

13 голосов
/ 22 июля 2010

$: /Users/dev/.rvm/gems/ruby-1.9.2-head@rails3/gems/sqlite3-ruby-1.3.1/lib/sqlite3/sqlite3_native.bundle: [BUG] ошибка сегментации ruby ​​1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0]

Abort trap

Похоже, что ruby ​​не является верной версией (1.8.7), но:

$: ruby - v
$: ruby 1.9.2dev (2010-07-15 revision 28653) [x86_64-darwin10.4.0]



$: gem list

*** LOCAL GEMS ***

abstract (1.0.0)
actionmailer (3.0.0.beta4, 3.0.0.beta3)
actionpack (3.0.0.beta4, 3.0.0.beta3)
activemodel (3.0.0.beta4, 3.0.0.beta3)
activerecord (3.0.0.beta4, 3.0.0.beta3)
activeresource (3.0.0.beta4, 3.0.0.beta3)
activesupport (3.0.0.beta4, 3.0.0.beta3)
arel (0.4.0, 0.3.3)
builder (2.1.2)
bundler (0.9.26)
erubis (2.6.6)
i18n (0.4.1, 0.3.7)
mail (2.2.5)
memcache-client (1.8.5)
mime-types (1.16)
polyglot (0.3.1)
rack (1.1.0)
rack-mount (0.6.9)
rack-test (0.5.4)
rails (3.0.0.beta4, 3.0.0.beta3)
railties (3.0.0.beta4, 3.0.0.beta3)
rake (0.8.7)
rdoc (2.5.9)
sqlite3-ruby (1.3.1)
text-format (1.0.0)
text-hyphen (1.0.0)
thor (0.13.8)
treetop (1.4.8)
tzinfo (0.3.22)
will_paginate (3.0.pre)

больше информации:

$: ~ dev$ ruby -v
ruby 1.9.2dev (2010-07-15 revision 28653) [x86_64-darwin10.4.0]
$ :~ dev$ rails -v



/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:827:in `report_activate_error': Could not find RubyGem rails (>= 0) (Gem::LoadError)
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:261:in `activate'
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:68:in `gem'
from /usr/bin/rails:18

Есть идеи?

Большое спасибо:)

Ответы [ 8 ]

22 голосов
/ 19 августа 2010

Была такая же проблема после перехода на 1.9.2p0, но перезапуск консоли на Snow Leopard сделал свое дело.Кажется, РВМ запутался.

6 голосов
/ 30 июля 2010

Та же проблема для меня на снежном барсе;хотя в rvm 1.9.2@rails3 я вижу правильный номер версии rails.

Я должен использовать следующую команду для использования команды rails:

ruby which rails g scaffold User name:string bio:text

Любое решение?

Я наконец нашел причину.Похоже, gem install rails не удалось установить соответствующий двоичный файл для rails в rvm.И rails по-прежнему ссылается на /usr/bin/rails, в котором #! указывает на системный рубин *.

#!/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby

Измените это на:

#!/usr/bin/env ruby

, чтобы решить проблему.Я не знаю, влияет ли эта проблема на другие исполняемые скрипты, которые устанавливает gem, но почему gem не устанавливает rails на собственный путь bin в rvm, для меня загадка.Во всяком случае, этот обходной путь делает меня грязным.

5 голосов
/ 31 августа 2011

У меня была такая же проблема при использовании ree-1.8.7-2011.03.(Ruby Enterprise Edition)

Я удалил гемы sqlite3, затем запустил:

gem install sqlite3

и все заработалоОбратите внимание, что гем sqlite3-ruby теперь рекомендует использовать sqlite3.

3 голосов
/ 22 июля 2010

Я не знаю, как это произошло в вашем случае, но мне кажется, что Rails попытался запустить вашу систему с установленным Ruby, но загружает гемы с пути загрузки 1.9.2. Очень странно.

Вы видите правильную версию Ruby в своей оболочке (RVM имеет приоритет в локальном пути), но это не то, с чего запускается Rails.

Проверьте, как вы запускаете Rails и что у вас нет путей, ссылок или псевдонимов между версиями Ruby

1 голос
/ 14 июня 2013

Вам может понадобиться запустить

rvm reload
0 голосов
/ 14 августа 2012

Существует известная проблема с zsh, rvm и vim.

Последнее решение состоит в том, чтобы установить оболочку на sh в вашем .vimrc

set shell=sh

В этом блоге перечислены все решения

0 голосов
/ 13 августа 2012

Я столкнулся с этой точной ошибкой в ​​zsh и MacVim и в конечном итоге отследил ее до этой проблемы RVM. Решением было перенести источник RVM, который у меня был в .zshrc, на .zshenv. Сработало сразу. Просто отправляю сообщения о том, что кто-то может наткнуться на это так, как я.

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

Та же проблема после нескольких обновлений (rvm до 1.5.2 и ruby ​​до 1.9.2-p180)

Перезапуск консоли у меня не сработал, обновление до rails 3.0.6 заменило ошибку на ошибку сегмента mysql2 вместо sqlite3, переустановка mysql2 окончательно справилась со мной.

С уважением Michael

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