标签: rvm-capistrano

Capistrano错误tar:这看起来不像tar档案

 INFO [050fe961] Running mkdir -p /home/rails/rails-
capistrano/releases/20140114234157 on staging-rails
DEBUG [050fe961] Command: cd /home/rails/rails-capistrano/repo && ( PATH=/opt/ruby/bin:$PATH GIT_ASKPASS=/bin/echo GIT_SSH=/tmp/rails/git-ssh.sh mkdir -p /home/rails/rails-capistrano/releases/20140114234157 )
 INFO [050fe961] Finished in 0.142 seconds with exit status 0 (successful).
 INFO [2dea2fe5] Running git archive feature/Capistrano | tar -x -C /home/rails/rails-capistrano/releases/20140114234157 on staging-rails
DEBUG [2dea2fe5] Command: cd /home/rails/rails-capistrano/repo && ( PATH=/opt/ruby/bin:$PATH GIT_ASKPASS=/bin/echo GIT_SSH=/tmp/rails/git-ssh.sh git archive feature/Capistrano | tar -x -C /home/rails/rails-capistrano/releases/20140114234157 )
DEBUG [2dea2fe5]    fatal: Not a valid object name
DEBUG [2dea2fe5]    tar: This does not …
Run Code Online (Sandbox Code Playgroud)

capistrano rvm-capistrano capistrano3

93
推荐指数
4
解决办法
1万
查看次数

Rails控制台默认环境

在我的开发机器上:

$ bundle exec rails console
Loading development environment (Rails 3.2.3)
1.9.3p194 :001 > Rails.env
 => "development"
Run Code Online (Sandbox Code Playgroud)

这是预料之中的.到现在为止还挺好.

然而在我的生产服务器上(我使用Capistrano部署),我得到了完全相同的结果:

$ bundle exec rails console
Loading development environment (Rails 3.2.3)
1.9.3p194 :001 > Rails.env
 => "development"
Run Code Online (Sandbox Code Playgroud)

在任何一台机器上,我都可以这样做:

$ bundle exec rails console production
Loading development environment (Rails 3.2.3)
1.9.3p194 :001 > Rails.env
 => "production"
Run Code Online (Sandbox Code Playgroud)

我的问题是:在生产服务器上,不应该bundle exec rails console默认加载生产环境而不是开发环境?如果没有,为什么不呢?

ruby capistrano ruby-on-rails ruby-on-rails-3.2 rvm-capistrano

15
推荐指数
2
解决办法
1万
查看次数

NoMethodError:main:Object的未定义方法`on'

当我尝试bundle exec cap production deploy --trace收到错误消息时:

deploy@h2540559:/www/apps/foodsoft$ bundle exec cap production deploy --trace
** Invoke production (first_time)
** Execute production
** Invoke load:defaults (first_time)
** Execute load:defaults
** Invoke rvm:hook (first_time)
** Execute rvm:hook
cap aborted!
NoMethodError: undefined method `on' for main:Object
/usr/local/rvm/gems/ruby-2.0.0-p643/gems/capistrano-rvm-0.1.2/lib/capistrano/tasks/rvm.rake:17:in `block (2 levels) in <top (required)>'
/usr/local/rvm/gems/ruby-2.0.0-p643/gems/rake-11.1.1/lib/rake/task.rb:248:in `call'
/usr/local/rvm/gems/ruby-2.0.0-p643/gems/rake-11.1.1/lib/rake/task.rb:248:in `block in execute'
/usr/local/rvm/gems/ruby-2.0.0-p643/gems/rake-11.1.1/lib/rake/task.rb:243:in `each'
/usr/local/rvm/gems/ruby-2.0.0-p643/gems/rake-11.1.1/lib/rake/task.rb:243:in `execute'
/usr/local/rvm/gems/ruby-2.0.0-p643/gems/rake-11.1.1/lib/rake/task.rb:187:in `block in invoke_with_call_chain'
/usr/local/rvm/rubies/ruby-2.0.0-p643/lib/ruby/2.0.0/monitor.rb:211:in `mon_synchronize'
/usr/local/rvm/gems/ruby-2.0.0-p643/gems/rake-11.1.1/lib/rake/task.rb:180:in `invoke_with_call_chain'
/usr/local/rvm/gems/ruby-2.0.0-p643/gems/rake-11.1.1/lib/rake/task.rb:173:in `invoke'
/usr/local/rvm/gems/ruby-2.0.0-p643/gems/capistrano-3.2.1/lib/capistrano/dsl/task_enhancements.rb:12:in `block in after'
/usr/local/rvm/gems/ruby-2.0.0-p643/gems/rake-11.1.1/lib/rake/task.rb:248:in `call'
/usr/local/rvm/gems/ruby-2.0.0-p643/gems/rake-11.1.1/lib/rake/task.rb:248:in `block in …
Run Code Online (Sandbox Code Playgroud)

ruby rake ruby-on-rails rvm-capistrano capistrano3

15
推荐指数
1
解决办法
1万
查看次数

无法绑定到端口80,但在当前shell上运行没有任何问题

尝试运行" cap production unicorn:start"时出现以下错误

F, [2013-07-12T04:36:18.134045 #28998] FATAL -- : error adding listener addr=0.0.0.0:80
/home/ec2-user/apps/foo_prod/shared/bundle/ruby/2.0.0/gems/unicorn-4.6.3/lib/unicorn/socket_helper.rb:147:in `initialize': Permission denied - bind(2) (Errno::EACCES)
Run Code Online (Sandbox Code Playgroud)

手动运行以下命令可以正常运行.这可能是什么问题?

rvmsudo unicorn_rails -c config/unicorn/production.rb -D --env production
Run Code Online (Sandbox Code Playgroud)

sudo capistrano ruby-on-rails unicorn rvm-capistrano

13
推荐指数
3
解决办法
1万
查看次数

关于在ubuntu服务器上进行capistrano部署时nokogiri的错误

在相继bundle:install之后deploy:finalize_update,我收到关于nokogiri的错误.它暗示,

 ** [out :: *******] Make sure that `gem install nokogiri -v '1.6.0'` succeeds before bundling.
Run Code Online (Sandbox Code Playgroud)

所以我试着在服务器上自己安装nokogiri.但它给出了以下错误,

Building native extensions.  This could take a while...
ERROR:  Error installing nokogiri:
    ERROR: Failed to build gem native extension.

    /home/deployer/.rvm/rubies/ruby-2.0.0-p0/bin/ruby extconf.rb
Extracting libxml2-2.8.0.tar.gz into tmp/x86_64-linux-gnu/ports/libxml2/2.8.0... OK
Running 'configure' for libxml2 2.8.0... OK
Running 'compile' for libxml2 2.8.0... ERROR, review 'tmp/x86_64-linux-gnu/ports/libxml2/2.8.0/compile.log' to see what happened.
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails nokogiri rvm-capistrano

12
推荐指数
2
解决办法
4791
查看次数

如何指示Capistrano 3加载我在远程主机上设置的shell环境变量?

我想指示Capistrano加载在远程服务器上定义的环境变量.我怎样才能做到这一点?

似乎当我在环境变量中导出我的环境变量时.bashrc,它们不会被Capistrano考虑在内.Capistrano似乎正在执行a /usr/bin/env来创建执行远程命令的环境,但这似乎并没有从中加载环境变量.bashrc.

我也告诉你我也在使用rvm-capistrano(以防万一它可能有帮助).

任何线索?

ruby rvm-capistrano capistrano3

12
推荐指数
2
解决办法
5591
查看次数

capistrano - NameError:未初始化的常量Net :: SSH :: KnownHosts :: SUPPORTED_TYPE

我正在尝试将我的Rails(3.1.3)应用程序部署到preprod env.我使用capistrano(2.12.0)和rvm-capistrano(1.2.2).

当我打电话bundle exec cap ssh它工作正常.但是当我打电话时,bundle exec cap deploy我得到以下痕迹:

$ cap deploy
    triggering start callbacks for `deploy'
  * 18:42:19 == Currently executing `multistage:ensure'
*** Defaulting to `preprod'
  * 18:42:19 == Currently executing `preprod'
  * 18:42:19 == Currently executing `deploy'
  * 18:42:19 == Currently executing `deploy:update'
 ** transaction: start
  * 18:42:19 == Currently executing `deploy:update_code'
  * 18:42:19 == Currently executing `deploy:set_previous_revision'
  * executing "cd /rails_apps/com.example.preprod/current; git rev-parse --short HEAD"
    servers: ["preprod.example.com"]
connection failed for: preprod.example.com (NameError: uninitialized …
Run Code Online (Sandbox Code Playgroud)

ruby capistrano ruby-on-rails rvm-capistrano

9
推荐指数
1
解决办法
4929
查看次数

Capistrano甚至用"set:use_sudo,false"使用sudo

我不希望通过Capistrano使用sudo执行任何远程执行的命令.具体来说,当我运行时cap deploy:setup,在第一个mkdir命令期间我被要求输入我的sudo密码.我添加set :use_sudo, false到我的deploy.rb文件中,但这并没有什么区别.

我从一个相当完整的deploy.rb文件开始,但是一旦我遇到问题就将其削减.这是我的最小版本仍然显示use_sudo不受尊重:

# App Definitions

set :domain, '[server-ip]'
role :app, domain
role :web, domain
role :db, domain, :primary => true

set :user, "my_app"
set :use_sudo, false

task :sudo_test do
  run "#{try_sudo} whoami"
end
Run Code Online (Sandbox Code Playgroud)

运行cap sudo_test导致我被提示输入我的sudo密码.我在这里想念的是什么(除了我已经拔出的头发)?

谷歌调查结果

https://groups.google.com/forum/?fromgroups#!topic/capistrano/QNYnvW8obrg

有人有类似问题的帖子.线程中没有结论/解决方案.

sudo capistrano ruby-on-rails-3 rvm-capistrano

7
推荐指数
2
解决办法
2万
查看次数

使用capistrano进行部署会忽略组设置

在我的部署文件中,我将组设置为www-data:

set :user,            "root"
set :group,           "www-data"
Run Code Online (Sandbox Code Playgroud)

因此,当使用上限时:我希望capistrano用root:www-data chown文件夹

但是所有文件夹和文件都是root:root.

这个问题可能来自何方?

信息:我正在使用system-wide-rvm.

capistrano chmod rvm rvm-capistrano

7
推荐指数
1
解决办法
4028
查看次数

Rails 4,Capistrano 3在捆绑exec rake资产期间失败:预编译并返回rake stdout:Nothing

在rake资产期间使用Capistrano进行部署失败:预编译:

/usr/local/rvm/bin/rvm ruby-2.0.0-p353 do bundle exec rake assets:precompile
Run Code Online (Sandbox Code Playgroud)

提示响应此错误:

INFO [b438501f] Running /usr/local/rvm/bin/rvm ruby-2.0.0-p353 do bundle exec rake assets:precompile on 123.123.123.123

cap aborted!
rake stdout: Nothing written
rake stderr: Nothing written
/Users/osiris/.rvm/gems/ruby-2.0.0-p353/gems/sshkit-1.3.0/lib/sshkit/command.rb:94:in `exit_status='
/Users/osiris/.rvm/gems/ruby-2.0.0-p353/gems/sshkit-1.3.0/lib/sshkit/backends/netssh.rb:142:in `block (4 levels) in _execute'
/Users/osiris/.rvm/gems/ruby-2.0.0-p353/gems/net-ssh-2.8.0/lib/net/ssh/connection/channel.rb:551:in `call'
/Users/osiris/.rvm/gems/ruby-2.0.0-p353/gems/net-ssh-2.8.0/lib/net/ssh/connection/channel.rb:551:in `do_request'
/Users/osiris/.rvm/gems/ruby-2.0.0-p353/gems/net-ssh-2.8.0/lib/net/ssh/connection/session.rb:561:in `channel_request'
/Users/osiris/.rvm/gems/ruby-2.0.0-p353/gems/net-ssh-2.8.0/lib/net/ssh/connection/session.rb:465:in `dispatch_incoming_packets'
/Users/osiris/.rvm/gems/ruby-2.0.0-p353/gems/net-ssh-2.8.0/lib/net/ssh/connection/session.rb:221:in `preprocess'
/Users/osiris/.rvm/gems/ruby-2.0.0-p353/gems/net-ssh-2.8.0/lib/net/ssh/connection/session.rb:205:in `process'
/Users/osiris/.rvm/gems/ruby-2.0.0-p353/gems/net-ssh-2.8.0/lib/net/ssh/connection/session.rb:169:in `block in loop'
/Users/osiris/.rvm/gems/ruby-2.0.0-p353/gems/net-ssh-2.8.0/lib/net/ssh/connection/session.rb:169:in `loop'
/Users/osiris/.rvm/gems/ruby-2.0.0-p353/gems/net-ssh-2.8.0/lib/net/ssh/connection/session.rb:169:in `loop'
/Users/osiris/.rvm/gems/ruby-2.0.0-p353/gems/net-ssh-2.8.0/lib/net/ssh/connection/channel.rb:269:in `wait'
/Users/osiris/.rvm/gems/ruby-2.0.0-p353/gems/sshkit-1.3.0/lib/sshkit/backends/netssh.rb:164:in `block (2 levels) in _execute'
/Users/osiris/.rvm/gems/ruby-2.0.0-p353/gems/net-ssh-2.8.0/lib/net/ssh/connection/channel.rb:514:in `call'
/Users/osiris/.rvm/gems/ruby-2.0.0-p353/gems/net-ssh-2.8.0/lib/net/ssh/connection/channel.rb:514:in `do_open_confirmation'
/Users/osiris/.rvm/gems/ruby-2.0.0-p353/gems/net-ssh-2.8.0/lib/net/ssh/connection/session.rb:545:in `channel_open_confirmation'
/Users/osiris/.rvm/gems/ruby-2.0.0-p353/gems/net-ssh-2.8.0/lib/net/ssh/connection/session.rb:465:in `dispatch_incoming_packets'
/Users/osiris/.rvm/gems/ruby-2.0.0-p353/gems/net-ssh-2.8.0/lib/net/ssh/connection/session.rb:221:in `preprocess'
/Users/osiris/.rvm/gems/ruby-2.0.0-p353/gems/net-ssh-2.8.0/lib/net/ssh/connection/session.rb:205:in `process'
/Users/osiris/.rvm/gems/ruby-2.0.0-p353/gems/net-ssh-2.8.0/lib/net/ssh/connection/session.rb:169:in …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails rvm-capistrano ruby-on-rails-4 capistrano3 sshkit

7
推荐指数
1
解决办法
3730
查看次数