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 一直告诉我它当前没有安装的主要内容,如果未能解决你的问题,请参考以下文章
为啥我的 package.json 文件在告诉我它已更新后没有显示在 Github 上?
在 SORM 中更新数据似乎是可能的(尽管有人告诉我它针对的是不可变数据......)