【问题标题】:Rails commands only work on one terminalRails 命令仅适用于一个终端
【发布时间】:2011-04-25 20:07:30
【问题描述】:

我安装了 Ruby,然后安装了 RVM,然后配置了 Rails。

当我从原始终端调用它时,一切正常。但是当我尝试从新终端调用各种命令时,系统只会给出一条错误消息,例如:

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

为什么会这样?是否有一些需要设置的全局变量?顺便说一下,我正在使用 Ubuntu。

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3 ubuntu


    【解决方案1】:

    gem 的安装方式/位置示例:

    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 
    

    现在,Rails gem 安装在 2 个目录中(每个 Ruby 版本各 1 个)

    现在为了设置 Ruby 的默认版本(而不是每次打开终端时都输入 rvm use),您可以运行:

    rvm use 1.9.2 --default  
    

    有关默认设置的更多信息,请参阅documentation。

    其他一些命令:

    • 默认红宝石rvm list default
    • 所有红宝石:rvm list

    另请注意do not use sudo with RVM!

    希望一切顺利!

    【讨论】:

    • 我收到此消息:警告:ruby ruby​​-1.8.7-p334 未安装。要安装:'rvm install ruby​​-1.8.7-p334' - 但这没有意义,因为我肯定安装了 RVM 并且我从它工作的终端执行了命令。有任何想法吗? :)
    • ruby -v 工作了吗? Rails gem 是否安装在rvm gemdir 显示的目录中?也许您将它安装在不同版本的 Ruby 中(因此安装在不同的目录中)。在安装它的终端中使用gem which rails 来查看它安装到哪个目录。
    • $ ruby​​ -v ruby​​ 1.9.2p180 (2011-02-18 revision 30909) [i686-linux] - 所以我应该使用你建议的命令和更新的版本号吗?
    • 用更多信息更新了我的答案。
    • 我只提供了 1.8.7 作为示例(如果您不想安装,请不要安装它,但 RVM 可以很容易地为每个版本拥有多个版本的 rubies 和 gems)
    【解决方案2】:

    同样重要的是要注意 gnome 终端需要能够访问登录 shell。这可以在 Ubuntu 12.04 上通过右键单击终端窗格、单击 Profiles > Profile Preferences 选择 Title and Command 窗格并切换选项 Run command as login shell 来进行配置。

    来源:RVM + Gnome Terminal

    【讨论】:

      【解决方案3】:

      设置rvm默认值后,

          bash --login
      

      为我做了诀窍。

      【讨论】:

        【解决方案4】:

        我解决了这个问题,将 ubuntu 上的终端配置为 'Run command as login shell'

        按照这个简单的教程进行操作

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

        【讨论】:

        • 虽然这在理论上可以回答这个问题,it would be preferable 在此处包含答案的基本部分,并提供链接以供参考。
        猜你喜欢
        • 1970-01-01
        • 2020-01-13
        • 1970-01-01
        • 2019-01-08
        • 2021-09-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多