Rails commands only work on one terminal

自闭症网瘾萝莉.ら 提交于 2020-01-14 04:04:09

问题


I installed Ruby and then RVM, and then configured Rails.

It all works when I call it from the original terminal. But when I try to call various commands from new terminals, the system just gives an error message such as this one:

$rails server
The program 'rails' is currently not installed.  You can install it by typing:
sudo apt-get install rails

Why does that happen? Is there some global variable which needs to be set? I am using Ubuntu by the way.


回答1:


Example of how/where gems are installed:

rvm use 1.8.7
ruby -v           # 1.8.7 returned
rvm gemdir        # some directory returned 
gem install rails # (installed to the directory returned by `rvm gemdir` in 1.8.7)
rails -v          # some version returned 

rvm use 1.9.2
ruby -v           # 1.9.2 returned
rvm gemdir        # some directory returned 
rails -v          # Error if not installed, else version is shown
gem install rails # (installed to the directory returned by `rvm gemdir` in 1.9.2)
rails -v          # some version returned 

Now, the Rails gem is now installed in 2 directories (1 for each of the Ruby versions)

Now in order to set a default version of Ruby (instead of typing rvm use every time you open a terminal), you can run:

rvm use 1.9.2 --default  

See the documentation for more information about default.

Some other commands:

  • Default ruby rvm list default
  • All Rubies: rvm list

Also note do not use sudo with RVM!

Hope that clears things up!




回答2:


It's also important to note that gnome terminal needs to have access to the login shell. This can be configured on Ubuntu 12.04 by right-clicking on your terminal pane, clicking Profiles > Profile Preferences selecting the Title and Command pane and toggling the option Run command as login shell.

Source: RVM + Gnome Terminal




回答3:


After setting rvm default,

    bash --login

did the trick for me.




回答4:


i solve this problem configuring the terminal on ubuntu to 'Run command as login shell'

follow this simple tutorial

https://rvm.io/integration/gnome-terminal



来源:https://stackoverflow.com/questions/5782684/rails-commands-only-work-on-one-terminal

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!