상자에서 실행중인 응용 프로그램이 있는데 상자에 다른 응용 프로그램을 추가하려고합니다.배포 도중 묶음이 제대로 설치되지 않음 (RVM 문제 일까?)
둘 다 RVM을 사용합니다.
문제는 내가 상자에 추가 한 새 응용 프로그램에 대한 배포 프로세스가 실패한다는 것입니다. 배포 할 때
, 나는 내가 사용 루비 무엇을보고
RVM info
를 호출합니다.
ruby-1.9.3-p392:
system:
uname: "Linux li83-41 2.6.39.1-linode34 #1 SMP Tue Jun 21 10:29:24 EDT 2011 i686 GNU/Linux"
system: "ubuntu/10.04/i386"
bash: "/bin/bash => GNU bash, version 4.1.5(1)-release (i486-pc-linux-gnu)"
zsh: " => not installed"
rvm:
version: "rvm 1.22.3 (master) by Wayne E. Seguin <[email protected]>, Michal Papis <[email protected]> [https://rvm.io/]"
updated: "4 days 21 hours 14 minutes 38 seconds ago"
path: "/usr/local/rvm"
ruby:
interpreter: "ruby"
version: "1.9.3p392"
date: "2013-02-22"
platform: "i686-linux"
patchlevel: "2013-02-22 revision 39386"
full_version: "ruby 1.9.3p392 (2013-02-22 revision 39386) [i686-linux]"
homes:
gem: "/usr/local/rvm/gems/ruby-1.9.3-p392"
ruby: "/usr/local/rvm/rubies/ruby-1.9.3-p392"
binaries:
ruby: "/usr/local/rvm/rubies/ruby-1.9.3-p392/bin/ruby"
irb: "/usr/local/rvm/rubies/ruby-1.9.3-p392/bin/irb"
gem: "/usr/local/rvm/rubies/ruby-1.9.3-p392/bin/gem"
rake: "/usr/local/rvm/gems/ruby-1.9.3-p392/bin/rake"
environment:
PATH: "/usr/local/rvm/gems/ruby-1.9.3-p392/bin:/usr/local/rvm/gems/[email protected]/bin:/usr/local/rvm/rubies/ruby-1.9.3-p392/bin:/usr/local/rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
GEM_HOME: "/usr/local/rvm/gems/ruby-1.9.3-p392"
GEM_PATH: "/usr/local/rvm/gems/ruby-1.9.3-p392:/usr/local/rvm/gems/[email protected]"
MY_RUBY_HOME: "/usr/local/rvm/rubies/ruby-1.9.3-p392"
IRBRC: "/usr/local/rvm/rubies/ruby-1.9.3-p392/.irbrc"
RUBYOPT: ""
gemset: ""
내가 들러를 사용하고, 배포하는 동안 실패 : 내가 여기서 끝나지 기지에있어
Fetching gem metadata from https://rubygems.org/.........
Fetching gem metadata from https://rubygems.org/..
Installing rake (10.1.0)
Installing i18n (0.6.5)
Installing minitest (4.7.5)
Installing multi_json (1.7.9)
Installing atomic (1.1.13)
Installing thread_safe (0.1.2)
Installing tzinfo (0.3.37)
Installing activesupport (4.0.0)
Gem::InstallError: activesupport requires Ruby version >= 1.9.3.
An error occurred while installing activesupport (4.0.0), and Bundler cannot
continue.
Make sure that `gem install activesupport -v '4.0.0'` succeeds before bundling.
rake aborted!
:
cd #{current_path} && bundle install --deployment
이 오류를 던지고 여기에 출력처럼 보이는 나는 ruby1.9.3-p392를 사용하고 있지만 bundler는 ruby> = 1.9.3이 필요하다고 말하고있다. 나는 상자에 ssh를하면 내가 올바른 루비 사용하고 있습니다 것 같습니다, 또한
---
BUNDLE_PATH: vendor/bundle
BUNDLE_DISABLE_SHARED_GEMS: '1'
BUNDLE_FROZEN: '1'
:
$ which ruby
/usr/local/rvm/rubies/ruby-1.9.3-p392/bin/ruby
그리고 실행 번들이 좋은 작품을 설치를 여기에
내 .bundle/설정입니다 .아이디어가 있으십니까?
편집 # 내가 블라드을 사용하고 1
, 여기 deploy.rb입니다 :
그것은 RVM의 잘못이 아닙니다set :repository, repo_location
set :revisions, 5
set :revision, "HEAD"
set :domain, domain
set :user, login_user
set :deploy_to, deploy_dir
set :deploy_env, "production"
namespace :vlad do
desc 'Restart Passenger'
remote_task :restart_app do
puts "Restarting passenger..."
run "touch #{current_release}/tmp/restart.txt"
end
desc 'Runs our full deployment'
task :deploy => ['vlad:update',
'vlad:symlink',
'vlad:rvm_info',
'vlad:update_bundle',
'vlad:migrate_database',
'vlad:cleanup',
'vlad:restart_app']
desc 'Symlinks your custom directories'
remote_task :symlink do
run "ln -s #{shared_path}/environments #{latest_release}/config/environments"
run "ln -s #{shared_path}/database.yml #{current_path}/config/database.yml"
run "ln -s #{shared_path}/config.yml #{current_path}/config/config.yml"
end
desc 'Show RVM Info for debug purposes'
remote_task :rvm_info do
run "cd #{current_path} && rvm info"
end
desc 'Update the Bundler bundle we use to include any new gems in the Gemfile'
remote_task :update_bundle do
run "cd #{current_path} && bundle install --deployment"
end
# copied from the vlad source, integrate migrate does not work as it's missing
# the && between the cd and the db migrate task itself. bug is already tracked
# at http://rubyforge.org/tracker/?group_id=4213&atid=16258&func=detail&aid=28445,
# but currently does not do anything.
remote_task :migrate, :roles => :app do
break unless target_host == Rake::RemoteTask.hosts_for(:app).first
directory = case migrate_target.to_sym
when :current then current_path
when :latest then latest_release
else raise(ArgumentError, "unknown migration target #{migrate_target.inspect}")
end
run(["cd #{directory}",
"bundle exeC#{rake_cmd} db:migrate #{migrate_args} RAILS_ENV=#{rails_env}"].join(" && "))
end
end
카피스트라노를 사용하고 있습니까? 그렇다면 capfile을 보여주십시오 – fotanus
저는 Vlad를 사용하고 있습니다 - deploy.rb로 질문을 업데이트했습니다. – kareem