切换到zsh会在命令行中断开rails

时间:2012-03-05 12:05:27

标签: ruby-on-rails ruby-on-rails-3 rvm bundler zsh

我刚刚切换到使用带有oh-my-zsh的zsh,我在使用rails命令行工具时遇到了问题。以下是我遇到的步骤,以及我收到的错误。

我运行了github页面提供的curl命令:

curl -L https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh | sh

然后我去运行rails s,这是我收到的以下错误消息:

.rvm/rubies/ruby-1.9.3-p0/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:247:in `to_specs': Could not find railties (>= 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)

这看起来我有一个gem错误所以我重新安装rvm,rails和bundler没有解决问题。但是,如果我将我的终端切换回bash,那么我没有任何问题,导轨工作得非常好。还有其他人遇到过类似的问题吗?我想使用zsh,因为它似乎有更好的功能,但如果我不能使用rails,那么我必须将其转储到路边。

这些是我的.zshrc文件末尾的行:

export PATH=/Users/thomascioppettini/.rvm/gems/ruby-1.9.3p0/bin:/Users/thomascioppettini/.rvm/gems/ruby-1.9.3-p0@global/bin:/Users/thomascioppettini/.rvm/rubies/ruby-1.9.3-p0/bin:/Users/thomascioppettini/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/X11/bin

PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting

4 个答案:

答案 0 :(得分:11)

我做了什么工作捆绑zsh和rvm,这是几部身体电影:

1)在第一行添加.zshrc以更正查找bin direcrory(您的CO):

  

PATH = $ PATH:$ HOME / .rvm / bin#将RVM添加到PATH以进行脚本编写

2)在上一行之后添加下一行:

  

[[-s“$ HOME / .rvm / scripts / rvm”]]&& 。 “$ HOME / .rvm /脚本/ RVM”

3)并在最后改变PATH:

  

export PATH = $ PATH:/ usr / local / sbin:/ usr / local / bin:/ usr / sbin:/ usr / bin:/ sbin:/ bin:/ usr / games

对我而言,它工作正常(现在正确定义所有rvm gemsets的$ PATH)

答案 1 :(得分:7)

你把

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"  # This loads RVM into a shell session.

进入.zshrc?

我假设rvm-installer仅将其安装到.bashrc

答案 2 :(得分:3)

好的,我通过删除zshrc中设置的路径并从我的bash_profile复制rvm行以便从rvm获得正确的配置来实现它。如果在终端中运行以下命令,它应该可以工作:

cat ~/.bash_profile >> ~/.zshrc

答案 3 :(得分:0)

如果您使用的是rbenv,请从bash.rc中复制此行,您可以通过sudo gedit ~/.bashrc

访问该行

export PATH="$HOME/.rbenv/bin:$PATH" eval "$(rbenv init -)" export PATH="$HOME/.rbenv/bin:$PATH"在此输入代码 eval "$(rbenv init -)"

然后将其粘贴到zshrc,可以通过sudo gedit ~/.zshrc

访问