2

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

3 回答 3

2

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

让它工作的几件事,捆绑zsh和rvm,

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

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

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

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

3)最后改变PATH:

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

于 2013-11-30T11:00:44.093 回答
1

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

unalias rails
unalias rake
于 2013-12-14T00:54:06.540 回答
0

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

export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
eval "$(rbenv init -)"
export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"
于 2017-07-20T09:06:59.987 回答