2011-03-05 23 views
5

我想在不同的項目之間切換,其中一部分通過rvm更改紅寶石和寶石集。 RVM本身對我的作品很大,但是當我把調用它變成一個shell腳本,我得到:fork:從shell腳本調用rvm時資源暫時不可用,但rvm本身很好地工作

fork: Resource temporarily unavailable

下面是從RVM信息輸出。讓我知道,如果有任何其他信息,我可以給這將是有益的。

$ rvm info 

[email protected]: 

    system: 
    uname:  "Darwin savoy.local 10.6.0 Darwin Kernel Version 10.6.0: Wed Nov 10 18:13:17 PST 2010; root:xnu-1504.9.26~3/RELEASE_I386 i386" 
    bash:  "/bin/bash => GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin10.0)" 
    zsh:   "/bin/zsh => zsh 4.3.9 (i386-apple-darwin10.0)" 

    rvm: 
    version:  "rvm 1.0.9 by Wayne E. Seguin ([email protected]) [http://rvm.beginrescueend.com/]" 

    ruby: 
    interpreter: "ruby" 
    version:  "1.9.2p136" 
    date:   "2010-12-25" 
    platform:  "x86_64-darwin10.6.0" 
    patchlevel: "2010-12-25 revision 30365" 
    full_version: "ruby 1.9.2p136 (2010-12-25 revision 30365) [x86_64-darwin10.6.0]" 

    homes: 
    gem:   "/Users/rfzabick/.rvm/gems/[email protected]" 
    ruby:   "/Users/rfzabick/.rvm/rubies/ruby-1.9.2-p136" 

    binaries: 
    ruby:   "/Users/rfzabick/.rvm/rubies/ruby-1.9.2-p136/bin/ruby" 
    irb:   "/Users/rfzabick/.rvm/rubies/ruby-1.9.2-p136/bin/irb" 
    gem:   "/Users/rfzabick/.rvm/rubies/ruby-1.9.2-p136/bin/gem" 
    rake:   "/Users/rfzabick/.rvm/gems/[email protected]/bin/rake" 

    environment: 
    PATH:   "/Users/rfzabick/.rvm/gems/[email protected]/bin:/Users/rfzabick/.rvm/gems/[email protected]/bin:/Users/rfzabick/.rvm/rubies/ruby-1.9.2-p136/bin:/Users/rfzabick/.rvm/bin:/usr/local/bin:/Applications/Emacs.app/Contents/MacOS:/Applications/MacVim.app/Contents/MacOS:/usr/local/mysql/bin:/Developer/usr/bin:/Users/rfzabick/.ec2/ec2-api-tools-1.3-62308/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin:/Applications/Google Chrome.app/Contents/MacOS" 
    GEM_HOME:  "/Users/rfzabick/.rvm/gems/[email protected]" 
    GEM_PATH:  "/Users/rfzabick/.rvm/gems/[email protected]:/Users/rfzabick/.rvm/gems/[email protected]" 
    BUNDLE_PATH: "/Users/rfzabick/.rvm/gems/[email protected]" 
    MY_RUBY_HOME: "/Users/rfzabick/.rvm/rubies/ruby-1.9.2-p136" 
    IRBRC:  "/Users/rfzabick/.rvm/rubies/ruby-1.9.2-p136/.irbrc" 
    RUBYOPT:  "" 
    gemset:  "pax-arachnae" 

回答

2

我在shell腳本中使用RVM,它工作正常。有一件事可以解釋爲什麼你無法做到,你的版本是舊的。目前的版本是1.2.8,而你的版本是1.0.9。

RVM經常更新,所以最好每兩週更新一次。在當前的RVM中,我們使用rvm get head進行更新,但我不確定它在1.0.9中是否相同。如果不嘗試rvm help update

+0

該訣竅。謝謝。 – 2011-03-05 21:42:24

+0

很高興幫助。我認爲這是一個很棒的工具。 – 2011-03-06 00:09:27

+0

聖牛,是否永遠。 RVM岩石。 – 2011-03-06 04:29:24

1

只是有一個問題,並解決它在Red Hat 5收到錯誤:叉:資源暫時不可用

研究,我們也發現了這一點: 1. cron運行的腳本不完全登錄的用戶。因此,如果在/ etc/profile中發出ulimit命令,那麼在cron腳本運行時它們將不會運行。

  1. 在與具有多個數據庫的計算機上處​​理用戶oracle時,我們發現ulimit -u導致該問題。我們有800個Oracle進程運行(演出用ps -ef | grep的甲骨文| WC-1),但是是bash shell會工作正常用ulimit -u 2020,但會失敗的ulimit -u 2010

原來過程限制必須是不恰當的。還必須包含線程。這個命令顯示了一個更接近我們的ulimit -u所需經驗的數字:ps -eLf | grep oracle | egrep -v root | wc -l

所以底線是,確保你的ulimit -u設置爲高在處理諸如oracle的工作負載時足夠了。

1

我也有同樣的錯誤,但對我來說,我的rvm已經搞亂了,並且使用了ruby 1.8.7而不是1.9.3。我做了rvm的要求,並警告過我。重新回到1.9.3,這一切都開始工作了。

1

我在OSX 10.7上遇到了與系統紅寶石1.8.7相同的問題。我使用RVM,所以只需切換到不同的紅寶石1.9.2-P290解決了這個問題。 (我在任何項目中都不使用1.8.7)。

2

fork: Resource temporarily unavailable

該錯誤是由通過的ulimit設置當前殼資源限制引起的(由ulimit -a檢查)。因此,您可以在另一個shell中嘗試,或者使用ulimit命令來增加資源,該命令控制shell可用的資源並在操作系統上創建它的進程。

要增加的限制,試着運行:

ulimit -Sn unlimited && ulimit -Sl unlimited 

提高軟限制到硬之一,或:

ulimit -l unlimited 
ulimit -n 10240 

的過程中設置的最大大小無限制,最大數量打開文件到10240。

參見:help ulimit瞭解更多信息。

爲了提高工藝的限制,使用這個命令:

sudo launchctl limit maxproc 1024 2048 

參見:How to persist ulimit settings in OSX?