Почему я вижу ссылку на набор других проектов в моем текущем проекте?

Недавно я создал новый проект Rails, и я считаю, что я создал для него gemset перед созданием приложения.

Но когда я сталкиваюсь с ошибкой, я получаю сообщение, подобное этому:

File /.rvm/gems/ruby-1.9.3-p194@project_1/gems/activerecord-3.2.8/lib/active_record/relation/finder_methods.rb

Хотя я в project_2, Так что в теории это должно быть ruby-1.9.3-p194@project_2 и не project_1,

Что может быть причиной этого и как я могу это исправить?

Благодарю.

PS Я использую RVM.

Изменить 1:

Я побежал rvm gemset list и это вывод:

project_2$ rvm gemset list

gemsets for ruby-1.9.3-p194 (found in /Users/marcamillion/.rvm/gems/ruby-1.9.3-p194)
   project_1
=> project_2
   project_3

Изменить 2:

Я только что побежал gem install rails в моем project_2 каталог после того, как я создал .rvmrc файл для этого проекта после проверки того, что он действительно использует gemset для этого проекта. Однако, когда я снова генерирую ошибку, я все еще вижу ссылку на набор гемов в project_1,

Изменить 3:

Выход для rvm current:

$ rvm current
ruby-1.9.3-p194@project_2

Изменить 4:

Хотя, когда я бегу rvm current в том же окне терминала, что и мой rails s Я вижу:

$ rvm current
ruby-1.9.3-p194@project_1

Итак, как мне установить gemset для всех окон терминала на данный момент и в будущем?

1 ответ

Решение

Вы должны указать RVM, какой набор гемов использовать. Попробуй это:

rvm gemset use project_2

Если это работает, то вы можете создать .rvmrc файл в корневом каталоге project_2, чтобы он автоматически переключался на этот набор гемблоков при входе в каталог:

cd /path/to/project_2
rvm --rvmrc --create 1.9.3@project_2

Это создаст .rvmrc в /path/to/project_2, cd из каталога и обратно, и он спросит вас, доверяете ли вы .rvmrc файл. По умолчанию он спросит вас только в первый раз.

Редактировать:

Важно отметить, что при создании нового .rvmrc, вам нужно cd вне каталога проекта во всех открытых сеансах терминала (включая rails s а также rails console). В противном случае приложение продолжит использовать набор из project_1,

Другие вопросы по тегам