2012-02-09 49 views
4

我已经浪费了几天的时间解决这个问题,我相信这是一个简单的解决方案,请大家帮忙! 当我从我的笔记本电脑上的用户帐户运行$ cap deploy:setup时,我收到下面粘贴的错误。看起来RVM存在问题,但我知道它已经安装了,并且我预先安装了我的应用程序所需的所有宝石。有没有其他人遇到类似的错误?任何帮助将非常感激! 使用capistrano在rails应用上部署ruby - cap deploy:安装失败

* executing `deploy:setup' 
    * executing "mkdir -p /usr/local/www/sites/arbiter.nullpointer.ca/public/ /usr/local/www/sites/arbiter.nullpointer.ca/public/releases /usr/local/www/sites/arbiter.nullpointer.ca/public/shared /usr/local/www/sites/arbiter.nullpointer.ca/public/shared/system /usr/local/www/sites/arbiter.nullpointer.ca/public/shared/log /usr/local/www/sites/arbiter.nullpointer.ca/public/shared/pids && chmod g+w /usr/local/www/sites/arbiter.nullpointer.ca/public/ /usr/local/www/sites/arbiter.nullpointer.ca/public/releases /usr/local/www/sites/arbiter.nullpointer.ca/public/shared /usr/local/www/sites/arbiter.nullpointer.ca/public/shared/system /usr/local/www/sites/arbiter.nullpointer.ca/public/shared/log /usr/local/www/sites/arbiter.nullpointer.ca/public/shared/pids" 
    servers: ["arbiter.nullpointer.ca"] 
    [arbiter.nullpointer.ca] executing command 
** [out :: arbiter.nullpointer.ca] 
** [out :: arbiter.nullpointer.ca] $rvm_path (system_wide) does not exist. 
*** [err :: arbiter.nullpointer.ca] /usr/local/rvm/scripts/rvm: line 154: __rvm_teardown: command not found 
*** [err :: arbiter.nullpointer.ca] /usr/local/rvm/bin/rvm-shell: line 74: rvm: command not found 
*** [err :: arbiter.nullpointer.ca] Error: RVM was unable to use 'default' 
    command finished 
failed: "rvm_path=system_wide /usr/local/rvm/bin/rvm-shell 'default' -c \"mkdir -p /usr/local/www/sites/arbiter.nullpointer.ca/public/ /usr/local/www/sites/arbiter.nullpointer.ca/public/releases /usr/local/www/sites/arbiter.nullpointer.ca/public/shared /usr/local/www/sites/arbiter.nullpointer.ca/public/shared/system /usr/local/www/sites/arbiter.nullpointer.ca/public/shared/log /usr/local/www/sites/arbiter.nullpointer.ca/public/shared/pids && chmod g+w /usr/local/www/sites/arbiter.nullpointer.ca/public/ /usr/local/www/sites/arbiter.nullpointer.ca/public/releases /usr/local/www/sites/arbiter.nullpointer.ca/public/shared /usr/local/www/sites/arbiter.nullpointer.ca/public/shared/system /usr/local/www/sites/arbiter.nullpointer.ca/public/shared/log /usr/local/www/sites/arbiter.nullpointer.ca/public/shared/pids\"" on arbiter.nullpointer.ca 
+0

您使用的是什么版本的RVM?这可能是值得更新,因为这个问题似乎相关:https://github.com/wayneeseguin/rvm/issues/586 – 2012-02-09 20:29:20

+0

嗨,谢谢你的回应。我正在使用rvm 1.10.2。 – 2012-02-09 20:33:46

+1

它看起来像你的配置中的一个问题,发布'rvm的设置' – mpapis 2012-02-11 12:45:21

回答

15

我只是碰到了这个问题,但我的安装与抱怨:

out :: server] 
** [out :: server] $rvm_path (/home/nebula/.rvm/) does not exist. 
*** [err :: server] /usr/local/rvm/scripts/rvm: line 185: __rvm_teardown: command not found 
*** [err :: server] /usr/local/rvm/bin/rvm: line 52: /home/nebula/.rvm//scripts/rvm: No such file or directory 
*** [err :: server] Error sourcing RVM! 
*** [err :: server] Error: RVM was unable to use 'ruby-1.9.3-p392' 

我使用RVM与全系统的安装,(标准安装到/ usr /本地/ RVM)。将以下内容添加到我的Capfile中解决了此问题:

set :rvm_type, :system 
set :rvm_path, "/usr/local/rvm" 
+0

确实有效!作为脚注,我将补充说我首先使用了'set:rvm_bin_path,“/ usr/local/rvm/bin”',虽然这个信息是正确的(我确实有一个包含可执行文件的bin文件夹),但这一直给我同样的错误。当我把这行改为'set:rvm_path,“/ usr/local/rvm”'它工作得很好。 – SylvainB 2013-04-17 08:49:44

0

错误显示:RVM无法使用'默认'gemset。意味着RVM无法找到名为'default'的gemset以供使用。检查您的deploy.rb中的以下行:

set :rvm_ruby_string, 'gemset-name-here' => put a valid gemset here