Rails一直告诉我它当前没有安装

时间:2011-10-17 02:59:07

标签: ruby-on-rails ruby rvm zsh

我使用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"

和宝石版本是1.8.10,最新版本。

26 个答案:

答案 0 :(得分:102)

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

答案 1 :(得分:88)

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

发生的事情是我使用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

这就是诀窍。

答案 2 :(得分:28)

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

中运行此命令
$ source ~/.rvm/scripts/rvm

答案 3 :(得分:23)

Mac OS X,rbenv和rails

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

的.bash_profile

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

eval "$(rbenv init -)"

重新启动shell

exec $SHELL -l

检查路径

echo $PATH

最后

我重复安装和卸载了rails,但是在rbenv rehash之后它从未放在.rbenv / bin目录中。最后我做了find . -name rails并卸载了返回和卸载rails的每个gem。然后:

$ gem install rails
$ rbenv rehash

$ which rails
/Users/palmerc/.rbenv/shims/rails

答案 4 :(得分:12)

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

答案 5 :(得分:11)

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

答案 6 :(得分:8)

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

我发现此修复程序以及有关在https://gorails.com/setup/osx/10.11-el-capitan

设置Rails 5的更多详细信息

答案 7 :(得分:3)

我有类似的问题,但是使用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

希望这有帮助!

答案 8 :(得分:1)

这就是我所做的。而问题已经消失。因此,我猜问题已经解决了。

rvm use system

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

rvm install 1.8.7
rvm install rails -v 3.0.7

然后bundle install

有关更多详细信息,可能需要深入了解gem安装过程。

答案 9 :(得分:1)

我遇到了此问题,但已解决。 我使用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,然后将其添加到路径环境变量中

答案 10 :(得分:1)

我刚刚重装终端

source ~/.bashrc

请参阅:How do I reload .bashrc without logging out and back in?

答案 11 :(得分:1)

如果rails安装正常,则

source ~/.rvm/scripts/rvm添加到.bashrc文件中,然后出现“当前未安装rails”错误。这让我感到沮丧,但我在这里找到了答案:http://www.codelearn.org/blog/how-to-install-ruby-rails-screencasts-linux-mac-windows

答案 12 :(得分:0)

遇到同样的问题,无法找到答案。这就是我的所作所为:

找到当前的铁路路径

$ which rails

返回类似这样的内容:/ usr / local / rails

删除当前版本

$ sudo rm -rf /usr/local/rails 

重新安装导轨

$ sudo gem install rails

答案 13 :(得分:0)

我遇到了同样的问题,并没有给出任何答案,所以我认为我可以分享我的解决方案,以防它对其他人有用。

我正在弄乱我的.profile.bashrc文件,以及我搞砸了RVM安装的方式。仍然不确定我做了什么,但修复很容易。只需运行以下命令,该命令将清除RVM的所有系统路径设置:

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

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

答案 14 :(得分:0)

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

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

引用,

将以下行添加到.bash_profile

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

结束语

答案 15 :(得分:0)

更新ruby后出现此错误。我必须运行'捆绑安装'解决它。

答案 16 :(得分:0)

尝试在Gemfile中明确指定gemset:

value = MIN(value, _maximumValue);
value = MAX(value, _minimumValue);

答案 17 :(得分:0)

试试这个:

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

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

$ bin/bash --login
$ rails -v

答案 18 :(得分:0)

我的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版本。

答案 19 :(得分:0)

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

答案 20 :(得分:0)

对于MacOS(High Sierra):

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

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

onReceive()

但是在启动Tokaido的外壳后,“哪个轨道”给出了以下路径:

/usr/bin/rails

答案 21 :(得分:0)

目前尚未安装Rails,但已解决了什么问题     rvm use ruby-2.6.0

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

答案 22 :(得分:0)

我今天遇到了这个问题。我还没有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

答案 23 :(得分:0)

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

这是我的情景

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

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

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

答案 24 :(得分:0)

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

我运行了命令,现在一切正常。上面的建议对我都不起作用。从新创建的Rails应用程序内部运行命令。

gem pristine --all

答案 25 :(得分:0)

Rbenv 用户

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

设置当前目录的ruby版本。

rbenv local 2.7.1

然后我就可以运行 rails new