Ruby Capifony数据库函数失败,返回'require';:无法加载这样的文件--FileUtils(LoadError)

Ruby Capifony数据库函数失败,返回'require';:无法加载这样的文件--FileUtils(LoadError),ruby,symfony,rvm,capifony,Ruby,Symfony,Rvm,Capifony,当我调用任何Capifony数据库函数时,例如,cap database:move:to_remote,我得到以下ruby错误: jeremykendall@isr-thinkpad-420s:~/dev/sites/app$ cap develop database:move:to_remote triggering load callbacks * executing `develop' triggering start callbacks for `database:mov

当我调用任何Capifony数据库函数时,例如,
cap database:move:to_remote
,我得到以下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>'
我的应用程序/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安装文件utils
  • sudoaptitude安装libfileutils-ocaml-dev
    (抓住FileUtils的稻草)
  • gem更新——系统
  • gem更新

前几天晚上,我在尝试gem安装rails时遇到了一个类似的错误,结果我错误地相信apt能够获得我需要的一切

我敢打赌,在安装软件包并确保它们符合您的实际需要时,您比我要小心一点,但下面是我(大致)安装的软件包


sudo-apt-get-install-ruby-full-build-sential


sudo aptitude安装ruby构建基础libopenssl ruby ruby1.8-dev

您有一个用于symphony部署的gem,它会自动添加到部署中:

gem uninstall capifony

使用或
bundler exec capistrano…
来解决这个问题

既然FileUtils是corelib的一部分,那么它应该存在于任何ruby安装中,前提是它可以在您使用RVM安装ruby时编译它。我自己也有类似的问题,一些corelibs不在那里,结果证明我在用RVM编译ruby时没有安装一些依赖项

这些是所有ruby corelib特性的完整要求,以及RVM所需的一些特性。(使用
rvm要求找到

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,然后重新安装源代码。(否则,以前的配置选项可能无法取消设置,并将您留在原来的位置)


看起来是。请尝试为
require“FileUtils”
搜索并替换为
require“FileUtils”
。那或者可能等待补丁?

你会发现
需要'FileUtils'
通常会在Mac OS X上工作,但是它应该是小写的
FileUtils
。问题是,大多数Mac OS X使用不区分大小写的文件系统,因此当你部署或转移到linux或其他文件系统时,例如ZFS打开了区分大小写功能,它将失败。

谢谢你的提示,伙计,但是没有骰子。我已经安装了大部分,安装其他ruby库也没有帮助。(我不确定它们会有帮助,因为我使用的是rvm)没有骰子。我卸载了我机器上能找到的所有ruby内容(通过
dpkg-l | grep ruby
),在rvm内爆的情况下卸载rvm,清理所有相关的rvm内容,然后重新安装rvm。我检查了需求,已经安装了它们,运行
rvm安装1.9.3
,为CapiOny创建了一个命名的gemset,运行
gem安装CapiOny
,尝试调用cap数据库函数之一,并得到了完全相同的错误。ARGH.如果您启动irb并键入
require'fileutils'
,会发生什么情况?可能是它编译正确,但您的Capifony环境由于某种原因无法看到它。我会确保您可以成功
require'fileutils'
,然后再麻烦Capifony。
require'fileutils'
返回
=>true
。所以你已经把它编译好了,它是你的CAPIFION环境,它被搞乱了。我不想这么说,但是你可以考虑在代码< > RBEV < /代码>中尝试它。但是,如果我尝试<代码>要求“FILUTILLS”< /C> >,我会得到类似于我的错误报告的错误。我最初使用的是RGM,命名为GEMSET(AFAIK)。。在遵循vongrippen的建议后,我创建了一个新的名为gemset的程序并重试。同样的问题。但是您是否卸载了capifony?如果没有capifony,则错误消息必须更改,是否可以粘贴新错误?这是一个非常相同的错误。结果表明,这是capifony中的一个错误。有两个与此相关的请求等待处理。这是我在Ubuntu和os x上工作时面临的问题。但解决方案是什么?嘿,谢谢!我在构建服务器上也遇到了同样的问题。将
require'FileUtils'
替换为
require'FileUtils'
解决了这个问题。
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
rvm reinstall 1.9.3-p125