【问题标题】:Rails keeps telling me that it's not currently installedRails 一直告诉我它当前没有安装
【发布时间】:2011-12-08 23:47:12
【问题描述】:

我使用rvm 来管理不同的红宝石及其宝石组。我的 shell 是 zsh,其中配置了基本设置的 oh-my-zsh。启用的 oh-my-zsh 插件有 ruby​​、rails、osx 和 git。这是我用来安装 ruby​​-1.8.7 和 rails-3.0.7 的命令。

rvm install 1.8.7
rvm use 1.8.7
gem install rails -v=3.0.7

然后我输入rails 得到:

Rails is not currently installed on this system. To get the latest version, simply type:

    $ sudo gem install rails

You can then rerun your "rails" command.

我也尝试过更彻底的安装,比如在切换到 ruby​​-1.8.7 后重新安装 rubygems,或者创建一个全新的 gemset,但没有运气。

这是 rvm 信息:

ruby-1.8.7-p352@rails:

  system:
    uname:       "Darwin yicai.local 10.8.0 Darwin Kernel Version 10.8.0: Tue Jun  7 16:32:41 PDT 2011; root:xnu-1504.15.3~1/RELEASE_X86_64 x86_64"
    bash:        "/bin/bash => GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin10.0)"
    zsh:         "/bin/zsh => zsh 4.3.9 (i386-apple-darwin10.0)"

  rvm:
    version:      "rvm 1.8.6 by Wayne E. Seguin (wayneeseguin@gmail.com) [https://rvm.beginrescueend.com/]"

  ruby:
    interpreter:  "ruby"
    version:      "1.8.7"
    date:         "2011-06-30"
    platform:     "i686-darwin10.8.0"
    patchlevel:   "2011-06-30 patchlevel 352"
    full_version: "ruby 1.8.7 (2011-06-30 patchlevel 352) [i686-darwin10.8.0]"

  homes:
    gem:          "/Users/nil/.rvm/gems/ruby-1.8.7-p352@rails"
    ruby:         "/Users/nil/.rvm/rubies/ruby-1.8.7-p352"

  binaries:
    ruby:         "/Users/nil/.rvm/rubies/ruby-1.8.7-p352/bin/ruby"
    irb:          "/Users/nil/.rvm/rubies/ruby-1.8.7-p352/bin/irb"
    gem:          "/Users/nil/.rvm/rubies/ruby-1.8.7-p352/bin/gem"
    rake:         "/Users/nil/.rvm/bin/rake"

  environment:
    PATH:         "/Users/nil/.rvm/gems/ruby-1.8.7-p352@rails/bin:/Users/nil/.rvm/gems/ruby-1.8.7-p352@global/bin:/Users/nil/.rvm/rubies/ruby-1.8.7-p352/bin:/Users/nil/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/sbin"
    GEM_HOME:     "/Users/nil/.rvm/gems/ruby-1.8.7-p352@rails"
    GEM_PATH:     "/Users/nil/.rvm/gems/ruby-1.8.7-p352@rails:/Users/nil/.rvm/gems/ruby-1.8.7-p352@global"
    MY_RUBY_HOME: "/Users/nil/.rvm/rubies/ruby-1.8.7-p352"
    IRBRC:        "/Users/nil/.rvm/rubies/ruby-1.8.7-p352/.irbrc"
    RUBYOPT:      ""
    gemset:       "rails"

gem 版本是 1.8.10,最新的。

【问题讨论】:

    标签: ruby-on-rails ruby rvm zsh


    【解决方案1】:

    如果您在安装 rails 后立即运行 rails 命令,则需要重新启动终端才能识别您的命令。

    【讨论】:

    • 哇!好吧,我生命中还有 15 分钟,我再也回不来了。谢谢。
    • 谢谢...这应该是最重要的。每个人都会犯的愚蠢错误。
    • 为我工作。但为什么呢?
    • @AkashAggarwal 因为这会执行允许识别 rails 命令的 rvm 脚本(在安装期间可能已添加到您的 .bash_profile 的步骤)。或者,您可以执行 Dhaulagiri 建议在当前 shell 中重新加载的操作。
    • 这是正确答案。只需重新启动终端即可。
    【解决方案2】:

    我今天遇到了这个问题。与您的问题不完全相关,但由于此页面是当我搜索 “Rails 当前未安装在此系统上” 时出现在 Google 中的页面,我想我会添加我的答案:

    发生的事情是我使用 ruby​​ 1.9.2 和 rails 有一段时间了,但后来我需要使用 ruby​​ 1.8.7 来运行我发现的其他一些脚本。

    后来,我想通过系统改回使用 1.9.2,这就是问题的开始:

    $ rvm list
    
    => ruby-1.8.7-p352 [ x86_64 ]
    ruby-1.9.2-p290 [ x86_64 ]
    
    
    $ rvm use 1.9.2
    

    我认为这样可以解决问题。但是不,这给了我“Rails 目前没有安装在这个系统上”的消息

    我忘记的是我使用 rvm gemset 配置了 rails。因此,当我选择激活哪个 ruby​​ 版本时,我需要指定正确的 gemset。

    $ rvm gemset list_all
    
    
    gemsets for ruby-1.8.7-p352 (found in /Users/asgeo1/.rvm/gems/ruby-1.8.7-p352)
    global
    
    
    gemsets for ruby-1.9.2-p290 (found in /Users/asgeo1/.rvm/gems/ruby-1.9.2-p290)
    global
    rails31
    
    
    $ rvm use ruby-1.9.2-p290@rails31
    

    成功了。

    【讨论】:

    • 我也为我工作,尽管我只安装了一个版本。它被设置为默认值,但由于某种原因它没有被设置为当前。
    • 谢谢 - 将 Ruby 从 2.2.1 升级到 2.2.3 后,我开始收到此错误。 rvm 使用 ruby​​-2.2.1 让 rails 再次开心。
    【解决方案3】:

    Mac OS X、rbenv 和 rails

    我遇到了完全相同的问题,但使用的是 rbenv 而不是 rvm。验证正确的 .bash_profile 后。

    .bash_profile

    export PATH="$HOME/.rbenv/bin:/usr/local/bin:$PATH"
    
    eval "$(rbenv init -)"
    

    重启外壳

    exec $SHELL -l
    

    检查路径

    echo $PATH
    

    终于

    我反复安装和卸载 rails,但在 rbenv rehash 后它从未放在 .rbenv/bin 目录中。最后我做了一个find . -name rails 并卸载了所有返回的gem并卸载了rails。那么:

    $ gem install rails
    $ rbenv rehash
    
    $ which rails
    /Users/palmerc/.rbenv/shims/rails
    

    【讨论】:

    • gem install rails 之后我遇到了同样的问题。就像你说的,运行rbenv rehash 成功了。不需要sudo
    【解决方案4】:

    我遇到了同样的问题,如果我尝试 rvm 命令,发现 RVM 也没有显示为已安装。解决这两个问题所需要的只是在终端中运行这个命令

    $ source ~/.rvm/scripts/rvm
    

    【讨论】:

    • 拯救了这一天...现在是什么意思? :)
    【解决方案5】:

    重启你的终端,然后重新运行你的 rails 命令

    【讨论】:

    • 哇,我觉得自己太笨了,它也对我有用!有时过度思考不是正确的方法:)
    • 我用的是 linux,这行得通。感觉就像在使用 windows :D
    • 大声笑.. 花了几个小时查看所有安装路径后,不敢相信它只需要重新启动终端。
    【解决方案6】:

    Rails 没有报告它没有安装。您的 Debian 系统告诉您没有安装 rails。关于 rvm 的一件事是它依赖于一些复杂的 bash shell 脚本,有时您需要启动一个新的 shell 才能显示更改。您还应该确保将正确的 rvm shell 命令添加到您的 .zshrc 文件中。 还要检查您的路径以确保包含 ~/.rvm/gems/... 路径。

    【讨论】:

    • 这对我来说就是这样,只需要退出文件夹并返回以让 rails 控制台再次拾取。让终端窗口打开几天的问题......
    • 这也是给我的。从没想过关闭终端窗口并重新打开。一旦我在升级 Ruby 后这样做了,一切都按预期工作。
    【解决方案7】:

    我使用 rbenv 遇到了这个问题。原来gem install rails 确实安装了 Rails,但rails 未被识别为可执行文件。我的解决方法是运行rbenv rehash

    我在https://gorails.com/setup/osx/10.11-el-capitan找到了这个修复和更多关于设置 Rails 5 的详细信息

    【讨论】:

    • 对我来说,在 rbenv 和 Rails 工作之后,我做了rmv。它破坏了一切,包括 cd、bundle 和 rails,现在我什至无法在 mac 上使用触控板右键单击。欢乐时光。
    【解决方案8】:

    我遇到了类似的问题,但使用的是 rbenv。

    我最初在 bash 上安装了 ruby​​。然后我在 VIM 中玩弄 .bashrc,把那个文件弄乱了,然后将它重置为默认值。这样做时,我在不知不觉中删除了导出的 rbenv $PATH。因此,我的终端不再识别我安装了 ruby​​。

    我重新访问了 ruby​​ 安装页面 (https://gorails.com/setup/ubuntu/15.04) 并尝试使用以下命令再次设置我的 rbenv 路径:

    echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
    

    失败了。

    幸运的是,在我弄乱 .bashrc 和尝试从终端访问 irb 之间,我已经切换到 zsh(使用 oh-my-zsh)。

    我的解决方案是按照安装指南设置 rbenv 路径,但将所有 .bashrc 实例替换为 .zshrc,如下所示:

    echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc
    

    希望这会有所帮助!

    【讨论】:

      【解决方案9】:

      我遇到过这个问题,但是已经解决了。 我用的是macOS,没用rvm,只用HomeBrew,我先用gem env获取所有gem的安装目录,我的是:

      $ gem env
      RubyGems Environment:
         -RUBYGEMS VERSION: 3.1.2
         -RUBY VERSION: 2.7.1 (2020-03-31 patchlevel 83) [x86_64-darwin19]
         -INSTALLATION DIRECTORY: /usr/local/lib/ruby/gems/2.7.0
         -USER INSTALLATION DIRECTORY: /Users/myname/.gem/ruby/2.7.0
      ...
      

      然后你尝试去/usr/local/lib/ruby/gems/2.7.0找到你已经安装的rails gem的可执行文件目录,例如:/usr/local/lib/ruby/gems/2.7.0/bin,然后添加到path环境变量中

      【讨论】:

      • 我必须将它添加到 .zshrc 文件中。 # Ruby 设置。 export PATH="/usr/local/opt/ruby/bin:/usr/local/lib/ruby/gems/3.0.0/bin:$PATH" export LDFLAGS="-L/usr/local/opt/ruby/ lib" export CPPFLAGS="-I/usr/local/opt/ruby/include" export PKG_CONFIG_PATH="/usr/local/opt/ruby/lib/pkgconfig"
      【解决方案10】:

      这就是我所做的。问题消失了。因此我想问题解决了。

      rvm use system
      

      更改为系统红宝石。使用提供和解释的命令here 删除其中的所有宝石。然后我从头开始安装想要的 ruby​​ 版本:

      rvm install 1.8.7
      rvm install rails -v 3.0.7
      

      然后bundle install

      更多细节,可能需要深入研究 gem 安装过程。

      【讨论】:

        【解决方案11】:

        如果 rails 安装正常,则将 source ~/.rvm/scripts/rvm 添加到您的 .bashrc 文件中,但是您会收到错误消息“rails 当前未安装”。这让我很沮丧,但我在这里找到了答案:http://www.codelearn.org/blog/how-to-install-ruby-rails-screencasts-linux-mac-windows

        【讨论】:

          【解决方案12】:

          我刚刚重新加载了我的终端

          source ~/.bashrc
          

          见:How do I reload .bashrc without logging out and back in?

          【讨论】:

            【解决方案13】:

            我发现了这个问题,但上面的解决方案并没有解决它。我没有使用 rvm(我正在使用 mac),我必须更新路径以添加 rails 可执行目录:

            echo 'export PATH="/usr/local/lib/ruby/gems/3.0.0/bin:$PATH"' >> ~/.zshrc
            

            【讨论】:

              【解决方案14】:

              我遇到了同样的问题,但上面的解决方案没有帮助。

              这是我的场景

              rvm list
              
              => ree-1.8.7-2012.02 [ i686 ]
                 ruby-1.9.3-p125 [ x86_64 ]
              
              which ruby
                /Users/dev/.rvm/rubies/ree-1.8.7-2012.02/bin/ruby
              which rails
                /usr/bin/rails
              gem list --local
                ..
                rails (3.2.8)
                rails2_asset_pipeline (0.1.20)
                railties (3.2.8)
                ..
              
              rvm use ruby-1.9.3-p125
              which ruby
                /Users/dev/.rvm/rubies/ruby-1.9.3-p125/bin/ruby
              which rails
                /Users/dev/.rvm/gems/ruby-1.9.3-p125/bin/rails
              

              通过在使用 ree 时卸载 rails 和 railties 并重新安装 rails,我的问题得到了解决。

              希望这可以帮助其他人在我的情况下,不知道我是如何进入它的:S

              【讨论】:

                【解决方案15】:

                我遇到了同样的问题,我最终删除了我的 .rvmrc rvm --create --rvmrc 1.8.7@project,其中 1.8.7@project 是您想要的 ruby​​。 cd进出,它工作。 http://sirupsen.com/get-started-right-with-rvm/

                【讨论】:

                  【解决方案16】:

                  刚刚遇到同样的问题,找不到答案。这是我所做的:

                  查找当前轨道路径

                  $ which rails
                  

                  返回如下内容:/usr/local/rails

                  删除当前版本

                  $ sudo rm -rf /usr/local/rails 
                  

                  重新安装导轨

                  $ sudo gem install rails
                  

                  【讨论】:

                  • 不要在 Mac OS 上这样做
                  【解决方案17】:

                  我遇到了同样的问题,给出的答案都没有帮助,所以我想我会分享我的解决方案,以防它可能对其他人有用。

                  我一直在搞乱我的 .profile.bashrc 文件,一路上我搞砸了我的 RVM 安装。仍然不确定我到底做了什么,但修复很容易。只需运行以下命令,即可清除 RVM 的所有系统路径设置:

                  rvm get [head|stable] --auto-dotfiles
                  

                  请注意,如果您运行的是旧版本的 RVM,这可能会升级您的设置,这可能不是您想要的。

                  【讨论】:

                    【解决方案18】:

                    一种可能的解决方案是不维护两个不同的配置文件.bash_profile.bashrc

                    这篇关于.bash_profile.bashrc 区别的优秀帖子中建议的解决方案是从.bash_profile 文件中获取.bashrc,然后将PATH 和常用设置放入.bashrc

                    引用,

                    将以下行添加到.bash_profile

                    if [ -f ~/.bashrc ]; then source ~/.bashrc fi

                    结束引用

                    【讨论】:

                      【解决方案19】:

                      更新 ruby​​ 后出现此错误。我必须运行“捆绑安装”来修复它。

                      【讨论】:

                        【解决方案20】:

                        尝试在您的 Gemfile 中明确指定 gemset:

                        source 'https://rubygems.org'
                        ruby "2.2.3"
                        #ruby-gemset=rails424
                        

                        【讨论】:

                          【解决方案21】:

                          试试这个:

                          您需要更改终端模拟器首选项以允许登录 shell。

                          有时需要使用/bin/bash --login 作为命令。

                          $ bin/bash --login
                          $ rails -v
                          

                          【讨论】:

                            【解决方案22】:

                            我的 Mac 上有这条消息:

                            Rails 当前未安装在此系统上。获取最新信息 版本,只需输入:

                            这是关于 $PATH 不正确。该系统有一个过时的 Rails 版本 (/usr/bin/ruby)。您选择的 ruby​​ 版本 ($HOME/.rbenv/versions/2.3.0/bin) 的路径必须在系统的过时版本以及 $PATH var 之前,如下所示:

                            export PATH="$HOME/.rbenv/versions/2.3.0/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:$PATH"
                            

                            将其调整为您的 ruby​​ 版本。

                            【讨论】:

                              【解决方案23】:

                              对于 MacOS(High Sierra):

                              Tokaido 是在"Getting Started" Rails guide page 上推荐用于 Mac OS 的 Rails 安装程序系统。但它不只是安装,它运行自己的 shell 脚本。如果您开始使用它,它获取自己的 shell 环境,然后在不从 Tokaido shell 启动的情况下启动终端,就会发生这种情况,因为“rails”命令会退回到 Mac 上的原始系统 rails 代码。

                              对于我来说,普通终端中的“which rails”命令返回

                              /usr/bin/rails
                              

                              但是在启动 Tokaido 的 shell 后,'which rails' 给出了这条路径:

                              /Users/charlesross/.tokaido/Gems/2.2.0/bin/rails
                              

                              【讨论】:

                                【解决方案24】:

                                目前还没有安装 Rails,但是修复了什么 rvm use ruby-2.6.0

                                ...并在 .bash_profile 中验证了我的路径 export PATH="$PATH:$HOME/.rvm/bin"

                                【讨论】:

                                  【解决方案25】:

                                  我今天遇到了这个问题。我还没有 100% 解决它,但在新标签中我可以做到 rvm use 2.5.5 然后 rails -v 工作正常。

                                  ➜  my-repo git:(next_release) ruby -v
                                  ruby 2.5.5p157 (2019-03-15 revision 67260) [x86_64-darwin18]
                                  ➜  my-repo git:(next_release) rails -v
                                  Rails is not currently installed on this system. To get the latest version, simply type:
                                  
                                      $ sudo gem install rails
                                  
                                  You can then rerun your "rails" command.
                                  ➜  my-repo git:(next_release) rvm use 2.5.5
                                  Using /Users/amberwilkie/.rvm/gems/ruby-2.5.5
                                  ➜  my-repo git:(next_release) rails -v
                                  Could not find rake-12.3.3 in any of the sources
                                  Run `bundle install` to install missing gems.
                                  ➜  my-repo git:(next_release) bundle install
                                  

                                  【讨论】:

                                    【解决方案26】:

                                    我正在查看源代码,发现另一个错误消息建议用户运行以下命令。

                                    我运行了命令,现在一切正常。上面的建议都不适合我。从新创建的 Rails 应用程序中运行命令。

                                    gem pristine --all
                                    

                                    【讨论】:

                                      【解决方案27】:

                                      Rbenv 用户

                                      我遇到了同样的问题,这对我有用。

                                      在当前目录中设置 ruby​​ 版本。

                                      rbenv local 2.7.1
                                      

                                      然后我就可以运行rails new

                                      【讨论】:

                                        【解决方案28】:

                                        这对我来说是这样的:

                                        1. 按照macinstallation instruction在mac中安装rvm

                                        2. rvm install ruby

                                        3. gem install rails

                                        4. rails --version

                                        【讨论】:

                                          【解决方案29】:

                                          对我来说(MacOS Monterey,rbenv)将 rails 版本添加到 gem install 命令可以解决问题。

                                          您可以从此link 中找到与您的 ruby​​ 匹配的特定版本的 rails 并替换 VERSION。

                                          gem install rails -v VERSION
                                          rbenv rehash 
                                          

                                          安装成功后,应该将rails添加到/Users/your_user/.rbenv/shims

                                          还请检查您的 shims 目录是否应该是路径的第一个元素。

                                          ➜  ~ echo $PATH # 
                                          /Users/ario/.rbenv/shims: ...
                                          

                                          【讨论】:

                                            猜你喜欢
                                            • 2018-06-30
                                            • 1970-01-01
                                            • 2021-06-02
                                            • 1970-01-01
                                            • 1970-01-01
                                            • 1970-01-01
                                            • 2015-04-12
                                            • 1970-01-01
                                            • 1970-01-01
                                            相关资源
                                            最近更新 更多