Проблема Ruby on Rails RVM $ PATH - PullRequest
18 голосов
/ 26 января 2012

Используется https://rvm.beginrescueend.com/rvm/install/ для установки ruby ​​(ruby 1.9.2p290) и драгоценных камней (без проблем), затем устанавливаются рельсы через gem install rails (Rails 3.2.0).Но когда я пытаюсь создать приложение rails (или выполнить команду rails -v) в другом каталоге, отличном от моего каталога / user, я получаю сообщение «Программа 'rails' в настоящее время не установлена. Вы можете установить ее, введя: sudo apt-get installrails "Я также заметил, что если я запускаю ruby ​​-v, я получаю" Программа 'ruby' в настоящее время не установлена. Вы можете установить ее, набрав: sudo apt-get install ruby ".

Очевидно, это $ PATHпроблема, но это было так долго , так как я должен был сделать это, что я полностью забыл, как решить проблему.Я думаю, что это простое исправление, но сейчас я чувствую себя погранично отсталым, как решить эту проблему.

Опять же, насколько я могу судить, пока я создаю версию приложения или команды командыкоманды ... и т.д. в моем каталоге / user все идет хорошо.

Несколько вещей, которые также могут помочь:

which rails дает мне: /home/j3/.rvm/gems/ruby-1.9.2-p290/bin/rails

which ruby дает мне: /home/j3/.rvm/rubies/ruby-1.9.2-p290/bin/ruby

заранее спасибо, Джим

Ответы [ 2 ]

40 голосов
/ 26 января 2012

Похоже, ваш rvm не был правильно добавлен в PATH (или он был поврежден).

Добавьте эту строку в настройки своего профиля (.bashrc или .bash_profile)

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

и получите файл:

source ~/.bashrc  

или

source ~/.bash_profile

Редактировать: Похоже, вы добавили строку эха в .bashrc по ошибке, она должна быть выполнена в терминале.

5 голосов
/ 26 января 2012

Когда вы пытаетесь создать новое приложение rails в любом каталоге, в котором вы находитесь, обязательно наберите rvm use {ruby version}, и вы также можете установить значение по умолчанию, используя rvm use --default {ruby version}, чтобы использовать эту версию ruby ​​rvm всякий раз, когда вы загружаете новую терминал вверх.

...