Ruby on Rails - плохой интерпретатор
У меня тут странная проблема. Когда я создаю gemset
с помощью rvm
путь which rails
изменения. Ниже приведены команды, которые я запускаю на терминале. Я передал связанный вопрос по SO, но мне не очень помог.
someuser@ubuntu-laptop:~/sandbox/some_app$ rvm use 2.0.0
Using /home/someuser/.rvm/gems/ruby-2.0.0-p247
someuser@ubuntu-laptop:~/sandbox/some_app$ which ruby
/home/someuser/.rvm/rubies/ruby-2.0.0-p247/bin/ruby
someuser@ubuntu-laptop:~/sandbox/some_app$ which rails
/home/someuser/.rvm/gems/ruby-2.0.0-p247/bin/rails
someuser@ubuntu-laptop:~/sandbox/some_app$ rvm gemset use some_app (I also tried rvm gemset use 2.0.0@some_app --create)
Using ruby-2.0.0-p247 with gemset some_app
someuser@ubuntu-laptop:~/sandbox/some_app$ which ruby
/home/someuser/.rvm/rubies/ruby-2.0.0-p247/bin/ruby
someuser@ubuntu-laptop:~/sandbox/some_app$ which rails
/usr/local/bin/rails (<--- the path changed!)
rails s
или же bundle
Команда выдает ошибку:
someuser@ubuntu-laptop:~/sandbox/some_app$ rails s
-bash: /usr/local/bin/rails: /usr/bin/ruby1.8: bad interpreter: No such file or directory
Я должен выполнить следующую команду, чтобы исправить путь:
someuser@ubuntu-laptop:~/sandbox/some_app$ rvm use 2.0.0
Using /home/someuser/.rvm/gems/ruby-2.0.0-p247
someuser@ubuntu-laptop:~/sandbox/some_app$ which rails
/home/someuser/.rvm/gems/ruby-2.0.0-p247/bin/rails
У меня есть следующая запись в .bash_profile
:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
Почему это происходит? Как я могу это исправить, чтобы путь не менялся при изменении / создании gemset?
1 ответ
Похоже, что вы ранее установили рельсы, используя
sudo apt get install rails
,
which rails
возвращает первый случай rails
в пути.
Попробуйте это - сначала удалите родные рельсы, выполнив sudo apt-get remove rails