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

nil*_*nil 78 ruby zsh ruby-on-rails rvm

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
Run Code Online (Sandbox Code Playgroud)

然后我打字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.
Run Code Online (Sandbox Code Playgroud)

我也尝试过更彻底的安装,比如rubygems在切换到ruby-1.8.7之后重新安装,或创建一个全新的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"
Run Code Online (Sandbox Code Playgroud)

宝石版是1.8.10,最新的.

Kyl*_*egg 105

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

  • 卫生署!我的生命中有15分钟我永远不会回来.谢谢. (14认同)

asg*_*eo1 89

我今天遇到了这个问题.与您的问题不完全相关,但由于此页面是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
Run Code Online (Sandbox Code Playgroud)

我认为这样做会有所帮助.但不,这给了我"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
Run Code Online (Sandbox Code Playgroud)

这就是诀窍.


Dha*_*iri 28

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

$ source ~/.rvm/scripts/rvm
Run Code Online (Sandbox Code Playgroud)


Cam*_*mer 27

Mac OS X,rbenv和rails

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

.bash_profile中

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

eval "$(rbenv init -)"
Run Code Online (Sandbox Code Playgroud)

重启shell

exec $SHELL -l
Run Code Online (Sandbox Code Playgroud)

检查路径

echo $PATH
Run Code Online (Sandbox Code Playgroud)

最后

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

$ gem install rails
$ rbenv rehash

$ which rails
/Users/palmerc/.rbenv/shims/rails
Run Code Online (Sandbox Code Playgroud)

  • 在“gem install Rails”之后,我遇到了同样的问题。就像你说的,运行“rbenv rehash”就成功了。不需要“sudo”。 (2认同)

小智 13

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

  • 这实际上对我有用.嘿:) (3认同)
  • 是什么让您认为,经过5年以上的回答和数十个答案([推荐使用相同的答案](http://stackoverflow.com/a/13149543/1772830)),您的答案会有用吗?:) (2认同)
  • 哇,我觉得太蠢了,它对我也有效!有时过度思考不是正确的方法:) (2认同)

Dav*_*hme 11

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


Wil*_*son 9

我使用rbenv遇到了这个问题.原来gem install rails没有实际上安装Rails,但rails无法识别为一个可执行文件.我的修复就是跑rbenv rehash.

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


Tru*_*ute 8

我也遇到过这个问题,不过已经解决了。\n我用的是macOS,我不使用rvm,我只使用HomeBrew,我首先使用gem env获取所有gems的安装目录,我的是:

\n\n
$ gem env\nRubyGems Environment:\n\xc2\xa0\xc2\xa0 -RUBYGEMS VERSION: 3.1.2\n\xc2\xa0\xc2\xa0 -RUBY VERSION: 2.7.1 (2020-03-31 patchlevel 83) [x86_64-darwin19]\n\xc2\xa0\xc2\xa0 -INSTALLATION DIRECTORY: /usr/local/lib/ruby/gems/2.7.0\n\xc2\xa0\xc2\xa0 -USER INSTALLATION DIRECTORY: /Users/myname/.gem/ruby/2.7.0\n...\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n


小智 7

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

echo 'export PATH="/usr/local/lib/ruby/gems/3.0.0/bin:$PATH"' >> ~/.zshrc
Run Code Online (Sandbox Code Playgroud)