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

tom*_*opp 7 zsh ruby-on-rails bundler rvm ruby-on-rails-3

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

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

curl -L https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh | sh
Run Code Online (Sandbox Code Playgroud)

然后我去运行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)
Run Code Online (Sandbox Code Playgroud)

这看起来像我有一个宝石错误所以我重新安装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
Run Code Online (Sandbox Code Playgroud)

mar*_*ini 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)并在最后改变路径:

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

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


小智 7

你放了吗?

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"  # This loads RVM into a shell session.
Run Code Online (Sandbox Code Playgroud)

进入你的.zshrc?

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


tom*_*opp 3

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

cat ~/.bash_profile >> ~/.zshrc
Run Code Online (Sandbox Code Playgroud)