2012-01-15 73 views
2

所有環境都是從railsinstaller設置的。 紅寶石 - 1.9.2-P290 導軌 - 3.1.1等無法在Windows 7 x64上安裝回形針2.5.0

錯誤: G:\項目\伯克>寶石安裝紙夾-v '2.5.0' 錯誤:當執行寶石...(錯誤:: 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 install paperclip -v'2.5.0'--trace 錯誤:執行gem時(OptionParser :: InvalidOption) 無效選項:--trace

G:\項目\伯克>耙分貝:遷移--trace **調用分貝:遷移(FIRST_TIME) **調用環境(FIRST_TIME) **執行環境 * *調用分貝:load_config(FIRST_TIME) **調用RAILS_ENV(FIRST_TIME) **執行RAILS_ENV **執行分貝:load_config **執行分貝:遷移 == CreateBrands:遷移========= ========================================== - create_table(:品牌) rake中止! 發生錯誤,所有後來遷移取消:

未定義的方法has_attached_file' for #<ActiveRecord::ConnectionAdapters::Tab leDefinition:0x5c804a0> G:/Projects/burk/db/migrate/20120115082718_create_brands.rb:6:in塊在CH 安格」 C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/activerecord-3.1。 3/LIB/ACTI ve_record/connection_adapters /抽象/ schema_statements.rb:161:在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:in CREATE_TABLE」 C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/activerecord-3.1.3/ LIB/ACTI ve_record/migration.rb:447:在say_with_time ' C:/RailsInstaller/Ruby1.9.2/lib/ruby/1.9.1/benchmark.rb:295:在measure' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/activerecord-3.1.3/lib/acti ve_record/migration.rb:422:in say_with_time' 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:in塊 C:/ RailsInstaller/Ruby1.9.2/lib中/紅寶石/gems/1.9.1/gems/activerecord-3.1.3/lib/acti ve_record/migration.rb:442:method_missing' G:/Projects/burk/db/migrate/20120115082718_create_brands.rb:3:in更改' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1 /gems/activerecord-3.1.3/lib/acti ve_record/migration.rb:391:在block (2 levels) in migrate' C:/RailsInstaller/Ruby1.9.2/lib/ruby/1.9.1/benchmark.rb:295:in量度」 C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/activerecord-3.1 0.3/LIB/ACTI ve_record/migration.rb:391:在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:in with_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:in migrate' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/activerecord-3.1.3/lib/acti ve_record/migration .RB:687:在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:in呼叫 ' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/activerecord-3.1.3/lib/acti ve_record/migration.rb:744:在遷移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:in塊' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/activerecord-3.1.3/lib/acti ve_record/migration.rb:671:在each' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/activerecord-3.1.3/lib/acti ve_record/migration.rb:671:in遷移' C:/ RailsInstaller/Ruby1 .9.2/lib/ruby​​/gems/1.9.1/gems/activerecord-3.1.3/lib/acti ve_record/migration.rb:549:在up' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/activerecord-3.1.3/lib/acti ve_record/migration.rb:530:in遷移' C:/RailsInstaller/Ruby1.9.2/lib/ruby /gems/1.9.1/gems/activerecord-3.1.3/lib/acti ve_record/railties/databases。耙:161:在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:in調用' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/task。 rb:205:在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:in每個' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/task。 RB:200:在invoke_with_call_chain' C:/RailsInstaller/Ruby1.9.2/lib/ruby/1.9.1/monitor.rb:201:在mon_synchronize' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/task. rb:151:in invoke_with_call_chain' execute' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/task. rb:158:in塊 C:/RailsInstaller/Ruby1.9.2/lib /ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/task。 rb:144:invoke' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/appli cation.rb:116:in invoke_task' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/appli cation.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:in每個 ' C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/appli cation.rb:94:在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: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:88:在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:in塊中運行' C:/ RailsInstaller/Ruby1 .9.2/lib/ruby​​/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/appli cation.rb:133:在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:in運行' C:/RailsInstaller/Ruby1.9.2/lib/ruby /gems/1.9.1/gems/rake-0.9.2.2/bin/耙:33: <top (required)>' C:/RailsInstaller/Ruby1.9.2/bin/rake:19:in負載 ' C:/RailsInstaller/Ruby1.9.2/bin/rake:19:在`' 任務:TOP =>分貝:遷移

回答

6

的問題是,有人添加了一個名爲文件question?mark.png到Gem測試文件來測試Paperclip的行爲與這樣的文件名稱。不幸的是問號不是Windows中文件名的合法字符。 (見directory,提交historydiscussionissue

對於這一點,最好的解決方法是下載zip file from Github,它從你的Gemfile複製到你的項目,並明確地引用寶石是這樣的:

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

編輯:作爲2.5.2版或更高版本,可以在Windows平臺上再次安裝Paperclip gem。 (Commit