ruby-on-rails -/usr/bin/env : passenger: No such file or directory and with exit status 1 (failed)

标签 ruby-on-rails nginx deployment passenger

我尝试将带有 capistrano、passenger 和 nginx 的 rails 项目部署到 AWS 服务器。但我无法部署它,因为这个错误。

INFO [0007b4de] Finished in 0.212 seconds with exit status 0 (successful).
DEBUG [484bf595] Running /usr/bin/env [ -L /var/www/happyhour/releases/20150402075058/bin ] as myname@x.x.x.x
DEBUG [484bf595] Command: [ -L /var/www/myproject/releases/20150402075058/bin ]
DEBUG [484bf595] Finished in 0.625 seconds with exit status 1 (failed).
DEBUG [35fe9fd2] Running /usr/bin/env [ -d /var/www/myproject/releases/20150402075058/bin ] as myname@x.x.x.x
DEBUG [35fe9fd2] Command: [ -d /var/www/myproject/releases/20150402075058/bin ]
DEBUG [35fe9fd2] Finished in 0.580 seconds with exit status 0 (successful).

和错误。

DEBUG [38c8a3d8]    /usr/bin/env: passenger: No such file or directory
cap aborted!
SSHKit::Runner::ExecuteError: Exception while executing as myname@x.x.x.x: passenger exit status: 127
passenger stdout: Nothing written
passenger stderr: /usr/bin/env: passenger: No such file or directory

文件Capfile.rb

require 'capistrano/setup'
require 'capistrano/deploy'

require 'capistrano/rails'
require 'capistrano/rails/assets'
require 'capistrano/rails/migrations'
require 'rvm1/capistrano3'
# require "rvm/capistrano"
require 'capistrano/bundler'
require 'capistrano/passenger'
# require 'whenever/capistrano'
# require 'capistrano3/unicorn'

Dir.glob('lib/capistrano/tasks/*.rake').each { |r| import r }

文件部署.rb

require 'rvm1/capistrano3'
# require "rvm/capistrano"
# require 'whenever/capistrano'

lock '3.2.1'

set :application, 'myproject'
set :repo_url, 'git@github.com:myname/myproject.git'
set :deploy_to, '/var/www/myproject'
set :keep_releases, 4

set :rvm_type, :system
set :rvm1_ruby_version, '2.2.0'
#set :default_env, { rvm_bin_path: '~/.rvm/bin' }
# set :default_env, { path: "/opt/ruby/bin:$PATH" }


set :linked_dirs, %w{bin log tmp/backup tmp/pids tmp/cache tmp/sockets vendor/bundle}
set :passenger_pid, "#{shared_path}/tmp/pids/passenger.pid"

set :bundle_jobs, 4

# set :whenever_identifier, ->{ "#{fetch(:application)}_#{fetch(:stage)}" }
# set :whenever_command, "bundle exec whenever"

after 'deploy:publishing', 'deploy:restart'
namespace :deploy do
  task :restart do
    invoke 'passenger:restart'
  end
end

文件制作.rb

set :branch, 'develop'

role :app, %w{myname@x.x.x.x}
role :web, %w{myname@x.x.x.x}
role :db,  %w{myname@x.x.x.x}

set :stage, :production
set :rails_env, 'production'

server 'IP Server', user: 'myname', roles: %w{web app db}

请帮我解决这个问题。

谢谢,

最佳答案

作为解决方法,尝试将其放入您的 deploy.rb:

set :passenger_restart_with_touch, true

这样做将跳过乘客版本的检查。有关详细信息,请参阅此 GitHub issue .

关于ruby-on-rails -/usr/bin/env : passenger: No such file or directory and with exit status 1 (failed),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29409393/

相关文章:

ruby-on-rails - 在子类中继承 Rails i18n 验证错误消息

ruby-on-rails - 用符号转换哈希数组

linux - 使用 nginx 提供 1GB 文件的最佳文件系统,在适度的写入、读取性能方面?

ruby-on-rails - nginx + unicorn + Rails + 流媒体

windows - 如何说服客户升级到 WCF 或为 Remoting 和 WCF 保留两个代码库

javascript - Dotcloud Nodejs Supervisord.conf 不工作

javascript - 在 Ruby on Rails 中使用 JQuery 更改图像

javascript - Ruby on Rails 和 Masonry 问题

node.js - 防止 Nginx 缓存 Nodejs 响应

java - 在 Eclipse 中构建 Java 后如何自动导出 WAR?