Почему я вижу ссылку на набор других проектов в моем текущем проекте?
Недавно я создал новый проект 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
,