Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 为什么,rails服务器没有在zsh终端上运行?_Ruby On Rails_Ruby On Rails 3_Zsh_Zshrc_Oh My Zsh - Fatal编程技术网

Ruby on rails 为什么,rails服务器没有在zsh终端上运行?

Ruby on rails 为什么,rails服务器没有在zsh终端上运行?,ruby-on-rails,ruby-on-rails-3,zsh,zshrc,oh-my-zsh,Ruby On Rails,Ruby On Rails 3,Zsh,Zshrc,Oh My Zsh,安装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

安装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

我认为是的,rails包装器脚本被移动到bin目录,可能存在兼容性问题

要让它工作,需要做几件事,捆绑zsh和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
现在它正确地定义了所有rvm宝石的
$PATH

这对我来说很好

谢谢


有用链接

我的
路径
配置正确,但仍然出现错误。将以下内容添加到我的
.zshrc
文件中修复了该问题:

unalias rails
unalias rake

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

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