【问题标题】:Cannot install paperclip 2.5.0 on Windows 7 x64无法在 Windows 7 x64 上安装回形针 2.5.0
【发布时间】:2012-02-10 20:57:42
【问题描述】:

所有环境都是从 railsinstaller 设置的。 红宝石 - 1.9.2-p290 Rails - 3.1.1 等

错误: G:\Projects\burk>gem 安装回形针 -v '2.5.0' 错误:执行 gem 时 ... (Errno::EINVAL) 无效参数 - C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/paperclip-2.5.0/test/fixtures/question?mark.png

2.4.5 版安装正常,但迁移时出错:

G:\Projects\burk>gem 安装回形针 -v '2.5.0' --trace 错误:执行 gem 时...(OptionParser::InvalidOption) 无效选项:--trace

G:\Projects\burk>rake db:migrate --trace ** 调用 db:migrate (first_time) ** 调用环境(first_time) ** 执行环境 ** 调用 db:load_config (first_time) ** 调用 rails_env (first_time) ** 执行 rails_env ** 执行 db:load_config ** 执行数据库:迁移 == CreateBrands:迁移 ============================================== ====== -- create_table(:brands) 耙中止! 发生错误,所有后续迁移均已取消:

ch 中未定义的方法has_attached_file' for #<ActiveRecord::ConnectionAdapters::Tab leDefinition:0x5c804a0> G:/Projects/burk/db/migrate/20120115082718_create_brands.rb:6:inblock 天使' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/activerecord-3.1.3/lib/acti ve_record/connection_adapters/abstract/schema_statements.rb:161:in create_table ' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/activerecord-3.1.3/lib/acti ve_record/connection_adapters/mysql2_adapter.rb:481:increate_table' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/activerecord-3.1.3/lib/acti ve_record/migration.rb:447:in block in method_missing' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/activerecord-3.1.3/lib/acti ve_record/migration.rb:422:inblock in say_with_time' C:/RailsInstaller/Ruby1.9.2/lib/ruby/1.9.1/benchmark.rb:295:in measure' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/activerecord-3.1.3/lib/acti ve_record/migration.rb:422:insay_with_time' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/activerecord-3.1.3/lib/acti ve_record/migration.rb:442:in method_missing' G:/Projects/burk/db/migrate/20120115082718_create_brands.rb:3:inchange' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/activerecord-3.1.3/lib/acti ve_record/migration.rb:391:in block (2 levels) in migrate' C:/RailsInstaller/Ruby1.9.2/lib/ruby/1.9.1/benchmark.rb:295:inmeasure' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/activerecord-3.1.3/lib/acti ve_record/migration.rb:391:in block in migrate' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/activerecord-3.1.3/lib/acti ve_record/connection_adapters/abstract/connection_pool.rb:185:inwith_connectio n' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/activerecord-3.1.3/lib/acti ve_record/migration.rb:375:in migrate' C:inmigrate' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/activerecord-3.1.3/lib/acti ve_record/migration.rb:687:in block (2 levels) in migrate' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/activerecord-3.1.3/lib/acti ve_record/migration.rb:744:incall' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/activerecord-3.1.3/lib/acti ve_record/migration.rb:744:in ddl_transaction' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/activerecord-3.1.3/lib/acti ve_record/migration.rb:686:inblock in migrate' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/activerecord-3.1.3/lib/acti ve_record/migration.rb:671:in each' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/activerecord-3.1.3/lib/acti ve_record/migration.rb:671:inmigrate' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/activerecord-3.1.3/lib/acti ve_record/migration.rb:549:in up' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/activerecord-3.1.3/lib/acti ve_record/migration.rb:530:inmigrate' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/activerecord-3.1.3/lib/acti ve_record/railties/databases.rake:161:in block (2 levels) in <top (required)>' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/task. rb:205:incall' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/task。 rb:205:in block in execute' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/task. rb:200:ineach' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/task。 rb:200:in execute' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/task. rb:158:inblock in invoke_with_call_chain' C:/RailsInstaller/Ruby1.9.2/lib/ruby/1.9.1/monitor.rb:201:in mon_synchronize' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/task. rb:151:ininvoke_with_call_chain' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/task。 rb:144:in invoke' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/appli cation.rb:116:ininvoke_task' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/appli 阳离子.rb:94:in block (2 levels) in top_level' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/appli cation.rb:94:ineach' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/appli 阳离子.rb:94:in block in top_level' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/appli cation.rb:133:instandard_exception_handling' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/appli 阳离子.rb:88:in top_level' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/appli cation.rb:66:inblock in run' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/appli 阳离子.rb:133:in standard_exception_handling' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/appli cation.rb:63:inrun' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/bin/rake:33:in <top (required)>' C:/RailsInstaller/Ruby1.9.2/bin/rake:19:inload' C:/RailsInstaller/Ruby1.9.2/bin/rake:19:in `' 任务:TOP => db:migrate

【问题讨论】:

    标签: ruby-on-rails paperclip


    【解决方案1】:

    问题是有人在 Gem 测试文件中添加了一个名为 question?mark.png 的文件,以使用此类文件名测试 Paperclip 的行为。不幸的是,问号不是 Windows 中文件名的合法字符。 (见directory,提交historydiscussionissue

    最好的解决方法是下载zip file from Github,将其复制到您的项目中,然后从您的 Gemfile 中明确引用 Gem,如下所示:

    gem 'paperclip', path: 'vendor/gems/paperclip'
    

    编辑: 作为或版本 2.5.2,Paperclip gem 可以在 Windows 平台上再次安装。 (Commit)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-10-16
      • 2017-04-02
      • 1970-01-01
      • 2016-10-21
      • 2011-05-02
      • 2014-05-31
      • 1970-01-01
      相关资源
      最近更新 更多