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.>重新部署. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |