4

cap database:move:to_remoteたとえば、Capifony データベース関数のいずれかを呼び出すと、次の ruby​​ エラーが発生します。

jeremykendall@isr-thinkpad-420s:~/dev/sites/app$ cap develop database:move:to_remote
    triggering load callbacks
* executing `develop'
    triggering start callbacks for `database:move:to_remote'
* executing `multistage:ensure'
* executing `database:move:to_remote'
* executing `database:dump:local'
/home/jeremykendall/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- FileUtils (LoadError)
        from /home/jeremykendall/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
        from /home/jeremykendall/.rvm/gems/ruby-1.9.3-p125@interperf/gems/capifony-2.1.5/lib/symfony2.rb:101:in `block (3 levels) in load'
        from /home/jeremykendall/.rvm/gems/ruby-1.9.3-p125@interperf/gems/capistrano-2.11.2/lib/capistrano/configuration/execution.rb:139:in `instance_eval'
        from /home/jeremykendall/.rvm/gems/ruby-1.9.3-p125@interperf/gems/capistrano-2.11.2/lib/capistrano/configuration/execution.rb:139:in `invoke_task_directly'
        from /home/jeremykendall/.rvm/gems/ruby-1.9.3-p125@interperf/gems/capistrano-2.11.2/lib/capistrano/configuration/callbacks.rb:25:in `invoke_task_directly_with_callbacks'
        from /home/jeremykendall/.rvm/gems/ruby-1.9.3-p125@interperf/gems/capistrano-2.11.2/lib/capistrano/configuration/execution.rb:89:in `execute_task'
        from /home/jeremykendall/.rvm/gems/ruby-1.9.3-p125@interperf/gems/capistrano-2.11.2/lib/capistrano/configuration/namespaces.rb:191:in `method_missing'
        from /home/jeremykendall/.rvm/gems/ruby-1.9.3-p125@interperf/gems/capistrano-2.11.2/lib/capistrano/configuration/namespaces.rb:191:in `method_missing'
        from /home/jeremykendall/.rvm/gems/ruby-1.9.3-p125@interperf/gems/capistrano-2.11.2/lib/capistrano/configuration/namespaces.rb:110:in `block in define_task'
        from /home/jeremykendall/.rvm/gems/ruby-1.9.3-p125@interperf/gems/capifony-2.1.5/lib/symfony2.rb:159:in `block (3 levels) in load'
        from /home/jeremykendall/.rvm/gems/ruby-1.9.3-p125@interperf/gems/capistrano-2.11.2/lib/capistrano/configuration/execution.rb:139:in `instance_eval'
        from /home/jeremykendall/.rvm/gems/ruby-1.9.3-p125@interperf/gems/capistrano-2.11.2/lib/capistrano/configuration/execution.rb:139:in `invoke_task_directly'
        from /home/jeremykendall/.rvm/gems/ruby-1.9.3-p125@interperf/gems/capistrano-2.11.2/lib/capistrano/configuration/callbacks.rb:25:in `invoke_task_directly_with_callbacks'
        from /home/jeremykendall/.rvm/gems/ruby-1.9.3-p125@interperf/gems/capistrano-2.11.2/lib/capistrano/configuration/execution.rb:89:in `execute_task'
        from /home/jeremykendall/.rvm/gems/ruby-1.9.3-p125@interperf/gems/capistrano-2.11.2/lib/capistrano/configuration/execution.rb:101:in `find_and_execute_task'
        from /home/jeremykendall/.rvm/gems/ruby-1.9.3-p125@interperf/gems/capistrano-2.11.2/lib/capistrano/cli/execute.rb:46:in `block in execute_requested_actions'
        from /home/jeremykendall/.rvm/gems/ruby-1.9.3-p125@interperf/gems/capistrano-2.11.2/lib/capistrano/cli/execute.rb:45:in `each'
        from /home/jeremykendall/.rvm/gems/ruby-1.9.3-p125@interperf/gems/capistrano-2.11.2/lib/capistrano/cli/execute.rb:45:in `execute_requested_actions'
        from /home/jeremykendall/.rvm/gems/ruby-1.9.3-p125@interperf/gems/capistrano-2.11.2/lib/capistrano/cli/help.rb:19:in `execute_requested_actions_with_help'
        from /home/jeremykendall/.rvm/gems/ruby-1.9.3-p125@interperf/gems/capistrano-2.11.2/lib/capistrano/cli/execute.rb:34:in `execute!'
        from /home/jeremykendall/.rvm/gems/ruby-1.9.3-p125@interperf/gems/capistrano-2.11.2/lib/capistrano/cli/execute.rb:14:in `execute'
        from /home/jeremykendall/.rvm/gems/ruby-1.9.3-p125@interperf/gems/capistrano-2.11.2/bin/cap:4:in `<top (required)>'
        from /home/jeremykendall/.rvm/gems/ruby-1.9.3-p125@interperf/bin/cap:19:in `load'
        from /home/jeremykendall/.rvm/gems/ruby-1.9.3-p125@interperf/bin/cap:19:in `<main>'

私の deploy.rb:

set :stage_dir,       'app/config/deploy'
require 'capistrano/ext/multistage'
set :stages,          %w{production testing develop}

default_run_options[:pty] = true

set :application,     "appname"
set :deploy_to,       "/home/isr/sites/app"
set :deploy_via,      :remote_cache

set :scm,             :git
set :repository,      "git@github.com:jeremykendall/redacted.git"
set :user,            "isr"
set :use_sudo,        false

ssh_options[:forward_agent] = true

set :model_manager,   "doctrine"
set :keep_releases,   3
set :update_vendors,  true
set :shared_files,    ["app/config/parameters.yml", "app/config/parameters.ini"]
set :shared_children, [app_path + "/logs", app_path + "/cache", web_path + "/uploads", "vendor"]

私の app/config/deploy/develop.rb

# Deploys to local vagrant box

set  :domain,           "192.168.33.10"
set  :symfony_env_prod, "dev"
set  :deploy_to,        "/home/vagrant/sites/app"
set  :branch,           "develop"
set  :user,             "vagrant"

role :web,              domain                   # Your HTTP server, Apache/etc
role :app,              domain                   # This may be the same as your `Web` server
role :db,               domain, :primary => true # This is where Rails migrations will run

私が試したこと

  • gem install fileutils
  • sudo aptitude install libfileutils-ocaml-dev(FileUtilsストローをつかむ)
  • gem update --system
  • gem update
4

5 に答える 5

9

capifony 2.1.5 のバグのようです。for を grep しrequire "FileUtils"て に置き換えてみてくださいrequire "fileutils"。それともパッチを待ちますか?

于 2012-04-12T02:06:15.433 に答える
4

require 'FileUtils'これは通常MacOSXで機能しますが、小文字である必要がありますfileutils。問題は、ほとんどの場合、大文字と小文字を区別しないファイルシステムでMac OS Xを使用するため、大文字と小文字を区別しないLinuxまたはZFSなどの他のファイルシステムにデプロイまたは移行すると失敗することです。

于 2012-06-04T22:24:56.830 に答える
2

FileUtils は corelib の一部であるため、RVM を使用して Ruby をインストールしたときにコンパイルできれば、どの Ruby インストールにもあるはずです。私自身もいくつかのcorelibが存在しないという同様の問題があり、RVMでrubyをコンパイルしたときに依存関係の一部がインストールされていなかったことが判明しました。

これらは、すべての ruby​​ corelib 機能の完全な要件と、RVM で必要ないくつかの要件です。(使用して見つかりましたrvm requirements

apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core  zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev  autoconf libc6-dev ncurses-dev automake libtool bison subversion

ここで、ruby とソースを完全に削除してから、再インストールします。(そうしないと、以前の構成オプションが設定解除されず、同じ場所に残る可能性があります)

rvm reinstall 1.9.3-p125
于 2012-04-11T22:16:03.483 に答える
0

先日、レールをインストールしようとしたときに似たようなエラーが発生し、必要なものをすべて取得するために apt-get を誤って信頼していたことが判明しました。

パッケージをインストールして、それらが実際に必要なものであることを確認することに関しては、私よりも少し注意を払っているに違いありませんが、これが私がインストールしたもので(大まかに)修正されました。

sudo apt-get install ruby-full build-essential

sudo aptitude install ruby build-essential libopenssl-ruby ruby1.8-dev

于 2012-04-11T15:09:01.827 に答える
0

symphony デプロイメント用の gem がある場合、デプロイメントに自動的に追加されます。

gem uninstall capifony

gemsetsを使用するかbundler exec capistrano ...、これを解決する

于 2012-04-11T22:02:38.773 に答える