加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 在使用capistrano部署后,Rails 4不会检测应用

发布时间:2020-12-17 02:48:09 所属栏目:百科 来源:网络整理
导读:我目前正在尝试使用Capistrano 3部署Rails 4应用程序.一切顺利,但我有一个问题,是的!我无法在我的应用程序中运行任何rails命令. 这是我的相关capistrano插件: gem 'capistrano-rails'gem 'capistrano-unicorn-nginx'gem 'capistrano-rbenv'gem 'capistrano
我目前正在尝试使用Capistrano 3部署Rails 4应用程序.一切顺利,但我有一个问题,是的!我无法在我的应用程序中运行任何rails命令.

这是我的相关capistrano插件:

gem 'capistrano-rails'
gem 'capistrano-unicorn-nginx'
gem 'capistrano-rbenv'
gem 'capistrano-secrets-yml'
gem 'capistrano-rails-console'

所以当我运行一个cap生产rails:console它给我这个输出:

[b2458a1e] Running /usr/bin/env [ -d ~/.rbenv/versions/2.1.1 ] as user@x.x.x.x
DEBUG [b2458a1e] Command: [ -d ~/.rbenv/versions/2.1.1 ]
DEBUG [b2458a1e] Finished in 0.528 seconds with exit status 0 (successful).
INFO [2d552562] Running ~/.rbenv/bin/rbenv exec bundle exec rails console production as user@x.x.x.x
DEBUG [2d552562] Command: ( RBENV_ROOT=~/.rbenv RBENV_VERSION=2.1.1 ~/.rbenv/bin/rbenv exec bundle exec rails console production )
Usage:
  rails new APP_PATH [options]

Options:
  -r,[--ruby=PATH]                                      # Path to the Ruby binary of your choice
                                                         # Default: /home/rails_app/.rbenv/versions/2.1.1/bin/ruby
  -m,[--template=TEMPLATE]                              # Path to some application template (can be a filesystem path or URL)
      [--skip-gemfile],[--no-skip-gemfile]              # Don't create a Gemfile
  -B,[--skip-bundle],[--no-skip-bundle]                # Don't run bundle install
  -G,[--skip-git],[--no-skip-git]                      # Skip .gitignore file
      [--skip-keeps],[--no-skip-keeps]                  # Skip source control .keep files
  -O,[--skip-active-record],[--no-skip-active-record]  # Skip Active Record files
  -S,[--skip-sprockets],[--no-skip-sprockets]          # Skip Sprockets files
      [--skip-spring],[--no-skip-spring]                # Don't install Spring application preloader
  -d,[--database=DATABASE]                              # Preconfigure for selected database (options: mysql/oracle/postgresql/sqlite3/    frontbase/ibm_db/sqlserver/jdbcmysql/jdbcsqlite3/jdbcpostgresql/jdbc)
                                                         # Default: sqlite3
  -j,[--javascript=JAVASCRIPT]                          # Preconfigure for selected JavaScript library
                                                         # Default: jquery
  -J,[--skip-javascript],[--no-skip-javascript]        # Skip JavaScript files
      [--dev],[--no-dev]                                # Setup the application with Gemfile pointing to your Rails checkout
      [--edge],[--no-edge]                              # Setup the application with Gemfile pointing to Rails repository
      [--skip-turbolinks],[--no-skip-turbolinks]        # Skip turbolinks gem
  -T,[--skip-test-unit],[--no-skip-test-unit]          # Skip Test::Unit files
      [--rc=RC]

任何的想法 ?

更新13/03 – 添加deploy.rb

# config valid only for current version of Capistrano
lock '3.3.5'

set :application,'my_app'
set :repo_url,'git@github.com:foo/my_app.git'

# Default branch is :master
# ask :branch,proc { `git rev-parse --abbrev-ref HEAD`.chomp }.call
set :branch,'master'

# Default deploy_to directory is /var/www/my_app_name
set :deploy_to,'/var/www/my_app'

# Default value for :linked_files is []
set :linked_files,fetch(:linked_files,[]).push('config/database.yml')

# Default value for linked_dirs is []
set :linked_dirs,fetch(:linked_dirs,[]).push('bin','log','tmp/pids','tmp/cache','tmp/sockets','vendor/bundle','public/system')

set :rbenv_ruby,'2.1.1'

解决方法

我认为问题是你在Rails应用程序的部署副本中缺少bin / rails.这就是我要做的事情:

>确保bin目录的内容已添加,提交并推送到您的git存储库.这将包括bin / rails和bin / rake.>从deploy.rb中的Capistrano:linked_dirs设置中删除bin.>重新部署.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读