ruby-on-rails-3 – 在Deamhost上部署Ruby on rails失败

前端之家收集整理的这篇文章主要介绍了ruby-on-rails-3 – 在Deamhost上部署Ruby on rails失败前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试将一个简单的 Ruby on Rails应用程序部署到dreamhost,但是我收到了与bundle命令相关的错误.这是错误
servers: ["bullseye.dreamhost.com"]
    [bullseye.dreamhost.com] executing command
    command finished
  * executing "find /home/USER-NAME/MY-DOMAIN/releases/20110123014150/public/images /home/USER-NAME/MY-DOMAIN/releases/20110123014150/public/stylesheets /home/USER-NAME/MY-DOMAIN/releases/20110123014150/public/javascripts -exec touch -t 201101230141.52 {} ';'; true"
    servers: ["bullseye.dreamhost.com"]
    [bullseye.dreamhost.com] executing command
    command finished
    triggering after callbacks for `deploy:update_code'
  * executing `bundle:install'
  * executing "ls -xt /home/USER-NAME/MY-DOMAIN/releases"
    servers: ["bullseye.dreamhost.com"]
    [bullseye.dreamhost.com] executing command
    command finished
  * executing "bundle install --gemfile /home/USER-NAME/MY-DOMAIN/releases/20110123014150/Gemfile --path /home/USER-NAME/MY-DOMAIN/shared/bundle --deployment --quiet --without development test"
    servers: ["bullseye.dreamhost.com"]
    [bullseye.dreamhost.com] executing command
*** [err :: bullseye.dreamhost.com] sh: bundle: command not found
    command finished
*** [deploy:update_code] rolling back
  * executing "rm -rf /home/USER-NAME/MY-DOMAIN/releases/20110123014150; true"
    servers: ["bullseye.dreamhost.com"]
    [bullseye.dreamhost.com] executing command
    command finished
Failed: "sh -c 'bundle install --gemfile /home/USER-NAME/MY-DOMAIN/releases/20110123014150/Gemfile --path /home/USER-NAME/MY-DOMAIN/shared/bundle --deployment --quiet --without development test'" on bullseye.dreamhost.com

这是我的deploy.rb文件.

require 'bundler/capistrano'

set :user,"MY-USERNAME"
set :password,"MY-PASSWORD"
set :domain,'bullseye.dreamhost.com'  # Dreamhost servername where your account is located 
set :project,'blog'  # Your application as its called in the repository
set :application,'MY-DOMAIN'  # Your app's location (domain or sub-domain name as setup in panel)
set :applicationdir,"/home/#{user}/#{application}"  # The standard Dreamhost setup

# version control config
set :scm_username,'MY-SVN-USERNAME'
set :scm_password,'MY-SVN-PWD'
set :repository,"http://MY-SVN-URL/01/blog/"

# roles (servers)
role :web,domain
role :app,domain
role :db,domain,:primary => true

# deploy config
set :deploy_to,applicationdir
set :deploy_via,:export

# additional settings
default_run_options[:pty] = false  # Forgo errors when deploying from windows

namespace :deploy do
  task :start do ; end
  task :stop do ; end
  task :restart,:roles => :app,:except => { :no_release => true } do
    run "#{try_sudo} touch #{File.join(current_path,'tmp','restart.txt')}"
  end
end

我在Bundle install failing when deploying a Rails 3 app to Dreamhost with Capistrano发现了一个类似的问题,但解决方案没有用.有人对我的案件中可能发生的事情有任何想法吗?

解决方法

我最终弄明白了.我做的是

> ssh进入dreamhost服务器并执行哪个bundle命令
>从ssh session执行echo $PATH命令
>编辑config / deploy.rb并将两个字符串组合在一起:介于default_environment和PATH值之间,如下所示

set:default_environment,{
‘PATH’=> “’/usr/lib/ruby/gems/1.8/bin//bundle:/home/sayed3/.gems/bin:/usr/lib/ruby/gems/1.8/bin/:/usr/local/bin:/ USR /斌:/ bin中:在/usr/bin中/ X11:在/ usr /游戏”
}

一旦我这样做,就能够成功执行bundle命令,但后来我开始遇到其他一些问题.我最终决定使用我在其他地方托管的VPS,但我敢肯定,如果我花了一点时间,我可以想出来.

猜你在找的Ruby相关文章