安装 Oh My ZSH 后找不到 Rails?

5

我最近更改了我的终端使用Oh My ZSH,但是当我尝试运行rails命令时,出现以下错误:

/Users/david/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/rubygems/dependency.rb:247:in `to_specs': Could not find rails (>= 0) amongst [bigdecimal-1.1.0, io-console-0.3, json-1.5.4, minitest-2.5.1, rake-0.9.2.2, rdoc-3.9.4] (Gem::LoadError)
    from /Users/david/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/rubygems/dependency.rb:256:in `to_spec'
    from /Users/david/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/rubygems.rb:1210:in `gem'
    from /Users/david/.rvm/gems/ruby-1.9.3-p0@railstest/bin/rails:18:in `<main>'

有人能帮我解决这个问题吗?

5个回答

14

我遇到了完全相同的问题,后来发现问题出在我没有把一个必要的行从 ~/.bashrc 移动到 ~/.zshrc。将其放在末尾并重新打开终端即可解决问题:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"

9

7

首先需要添加如下代码:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"

如果添加了这行代码后仍然无法正常工作,请检查您的导出路径。
在.zshrc文件中检查您的PATH(export PATH),并删除其中所有对.rvm的引用。 您应该最终得到像这样的东西:export PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/texbin
安装oh-my-zsh时,它将查看您当前的PATH,并在.zshrc中填充它,同时也会拉取.rvm环境。 由于rvm应该处理它,因此您不希望它出现在那里。

移除引用后,我们需要重新安装 oh-my-zsh 吗? - bkunzi01

1

对于rbenv用户

当您安装omz(oh my zsh!)时,omz会执行两个操作

  1. 将.zshrc的内容复制到.zshrc.pre-oh-my-zsh中
  2. 创建新的.zshrc文件

为了解决"Rails is not currently installed "的问题,您可以将.zshrc.pre-oh-my-zsh的内容复制到新的.zshrc文件中。

cd ~
cat .zshrc.pre-oh-my-zsh >> .zshrc

在这之后,重新启动终端对我起作用了。


0

1) 尝试这些命令:

  • rbenv which rails

  • rbenv which gem

  • gem env

2) 如果环境问题从输出中不清楚,则:

  • 查看您是否有此文件:

$HOME/.rvm/scripts/rvm

  • 尝试“源”它

问:只是出于好奇,什么是“ZSH”,为什么你决定尝试它?

问:我想象它与“bash”兼容,对吗?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接