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

我刚刚切换到使用zsh和oh-my-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,因为它似乎有更好的function,但如果我不能使用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 

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

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

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

2)在前一个之后添加下一行:

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

3)并在最后改变路径:

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

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

你放了吗?

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

进入你的.zshrc?

我假设rvm-installer只将它安装到.bashrc中

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

 cat ~/.bash_profile >> ~/.zshrc 

如果你正在使用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 .zshrc访问