簡體   English   中英

為什么,Rails服務器無法在zsh終端中運行?

[英]Why, rails server not running in zsh terminal?

安裝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以更正查找bin direcrory的方法:

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正確定義$PATH with all rvm gemsets

對我來說很好。

謝謝。

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

我的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"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM