Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.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 为什么我会失败;sh-c';cd/var/www/releases…'&引用;部署Rails应用程序时?_Ruby On Rails_Ruby_Debian - Fatal编程技术网

Ruby on rails 为什么我会失败;sh-c';cd/var/www/releases…'&引用;部署Rails应用程序时?

Ruby on rails 为什么我会失败;sh-c';cd/var/www/releases…'&引用;部署Rails应用程序时?,ruby-on-rails,ruby,debian,Ruby On Rails,Ruby,Debian,我将部署到Debian6服务器,使用Apache、Passenger和Ruby1.9.1 当我运行“cap部署”或“cap部署:迁移”时,会出现以下错误: [out :: ip.address] Could not find multi_json-1.0.3 in any of the sources ** [out :: ip.address] Run `bundle install` to install missing gems. ** [out :: ip.address]

我将部署到Debian6服务器,使用Apache、Passenger和Ruby1.9.1

当我运行“cap部署”或“cap部署:迁移”时,会出现以下错误:

[out :: ip.address] Could not find multi_json-1.0.3 in any of the sources
 ** [out :: ip.address] Run `bundle install` to install missing gems.
 ** [out :: ip.address] 
    command finished in 1037ms
*** [deploy:update_code] rolling back
  * executing "rm -rf /var/www/releases/20111208004427; true"
    servers: ["ip.address"]
    [ip.address] executing command
    command finished in 489ms
failed: "sh -c 'cd /var/www/releases/20111208004427 && /usr/bin/rake1.9.1 RAILS_ENV=production RAILS_GROUPS=assets assets:precompile'" on ip.address
注意
运行bundle安装以安装缺少的gems和
失败的sh-c…
部分

我已经尝试了这个
导出路径=/var/lib/gems/1.9.1/bin:${PATH}
并尝试了许多其他可能的解决方案,但似乎没有任何效果


顺便说一句,没有rvm。

请确保您的
config/deploy.rb
文件包含Bundler的capistrano任务,如下所示:

require 'bundler/capistrano'

这将告诉它在更新代码之后,但在运行其他任务之前,如
rake assets:precompile

运行
bundle install
,以供收到相同错误的其他人参考。找到答案:

仍然出现此错误:[out::ip.address]sh:bundle:未找到您确实需要登录到服务器并确保在部署之前安装了bundler:。如果您使用的是系统范围的ruby(不是rvm),那么登录到您的服务器并运行“sudo gem install bundler”,那么您的部署应该可以工作。已经尝试过,然后在命令行中运行bundle,但找不到get命令。当我这样做时,
export PATH=/var/lib/gems/1.9.1/bin:${PATH}
bundle确实有效。所以我将它添加到部署的用户的.bashrc文件中,并且cap deploy仍然得到“bundle not found error”。部署用户只拥有其主文件和www文件夹的所有权。我开始认为这可能是问题所在,而不是bundler