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

Posted

技术标签:

【中文标题】Rails 一直告诉我它当前没有安装【英文标题】:Rails keeps telling me that it's not currently installed 【发布时间】: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,最新的。

【问题讨论】:

【参考方案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】:

这对我来说是这样的:

    按照macinstallation instruction在mac中安装rvm

    rvm install ruby

    gem install rails

    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: ...

【讨论】:

以上是关于Rails 一直告诉我它当前没有安装的主要内容,如果未能解决你的问题,请参考以下文章

js.erb 不在 Rails 6 中渲染

为啥我的 package.json 文件在告诉我它已更新后没有显示在 Github 上?

在 SORM 中更新数据似乎是可能的(尽管有人告诉我它针对的是不可变数据......)

贝宝 NVP 超时

ubuntu 如何我刚刚安装好 现在连一些基本的东西都不知道 希望大家能告诉我它怎么美化成 mac os x那样

有人可以告诉我它是啥样的加密吗?