【问题标题】:Why, rails server not running in zsh terminal?为什么,rails 服务器没有在 zsh 终端中运行?
【发布时间】:2013-11-30 06:28:34
【问题描述】:

安装 zsh 后,我无法启动 rails 服务器,出现以下错误:

在 bash 中它工作正常

错误:

╭─love@Love ~/rails/nbt1 ‹system› ‹master*› 
╰─➤  rs
Could not find rake-10.1.0 in any of the sources
╭─love@Love ~/rails/nbt1 ‹system› ‹master*› 
╰─➤  bundle                                                                                                                                7 ↵
/usr/lib/ruby/1.8/fileutils.rb:243:in `mkdir': Permission denied - /var/lib/gems  (Errno::EACCES)
from /usr/lib/ruby/1.8/fileutils.rb:243:in `fu_mkdir'
from /usr/lib/ruby/1.8/fileutils.rb:217:in `mkpath'
from /usr/lib/ruby/1.8/fileutils.rb:215:in `reverse_each'
from /usr/lib/ruby/1.8/fileutils.rb:215:in `mkpath'
from /usr/lib/ruby/1.8/fileutils.rb:201:in `each'
from /usr/lib/ruby/1.8/fileutils.rb:201:in `mkpath'
from /usr/lib/ruby/1.8/pathname.rb:1035:in `mkpath'
from /usr/lib/ruby/vendor_ruby/bundler/installer.rb:15:in `run'
from /usr/lib/ruby/vendor_ruby/bundler/installer.rb:8:in `install'
from /usr/lib/ruby/vendor_ruby/bundler/cli.rb:222:in `install'
from /usr/lib/ruby/vendor_ruby/bundler/vendor/thor/task.rb:22:in `send'
from /usr/lib/ruby/vendor_ruby/bundler/vendor/thor/task.rb:22:in `run'
from /usr/lib/ruby/vendor_ruby/bundler/vendor/thor/invocation.rb:118:in `invoke_task'
from /usr/lib/ruby/vendor_ruby/bundler/vendor/thor.rb:246:in `dispatch'
from /usr/lib/ruby/vendor_ruby/bundler/vendor/thor/base.rb:389:in `start'
from /usr/bin/bundle:13
╭─love@Love ~/rails/nbt1 ‹system› ‹master*› 
╰─➤  bash                                                                                                                                  1 ↵
love@Love:~/rails/nbt1$ rails -v
Rails 3.2.14
love@Love:~/rails/nbt1$ ruby -v
ruby 1.9.3p194 (2012-04-20 revision 35410) [i686-linux]
love@Love:~/rails/nbt1$ 

我已将此行放在~/.zshrc 的末尾。

 source $ZSH/oh-my-zsh.sh

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 zsh zshrc oh-my-zsh


    【解决方案1】:

    我认为是的,rails 包装脚本已移至 bin 目录,可能存在兼容性问题。

    几件事情让它工作,捆绑z​​sh和rvm,

    1) 在第一行添加到 .zshrc 以更正 find bin 目录:

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

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

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

    3) 最后更改路径:

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

    现在正确定义$PATH with all rvm gemsets

    这对我来说很好。

    谢谢。

    有用的链接http://railscasts.com/episodes/308-oh-my-zsh

    【讨论】:

      【解决方案2】:

      我的PATH 配置正确,但我仍然收到错误消息。将以下内容添加到我的 .zshrc 文件中解决了问题:

      unalias rails
      unalias rake
      

      【讨论】:

        【解决方案3】:

        下面的代码最后添加到~/.zshrc

        export PATH="$HOME/.rbenv/bin:$PATH"
        eval "$(rbenv init -)"
        eval "$(rbenv init -)"
        export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-06-09
          • 1970-01-01
          • 1970-01-01
          • 2017-05-16
          • 1970-01-01
          • 2015-02-18
          相关资源
          最近更新 更多