Rails 3回形针安装,现在得到LoadError

时间:2011-06-05 22:06:42

标签: paperclip

我是Rails的新手,我正在运行Rails 3 我最近通过Homebrew安装了ImageMagick然后运行'sudo plugin install git://github.com/thoughtbot/paperclip.git'

我在我的root Gemfile中添加了“gem'rmagick'”。

这样做之后我立即发现没有rails命令工作了(下面的错误)。我尝试将“config.gem”rmagick“,:lib =>”RMagick“”添加到我的environment.rb中,正如其他一些线程建议的那样,但这会返回一个不同的错误(未定义的局部变量或方法`config'for main:Object (NameError))

有什么想法吗?

/opt/local/lib/ruby/gems/1.8/gems/activesupport-3.0.7/lib/active_support/dependencies.rb:239:in `require': no such file to load -- cocaine (LoadError)
from /opt/local/lib/ruby/gems/1.8/gems/activesupport-3.0.7/lib/active_support/dependencies.rb:239:in `require'
from /opt/local/lib/ruby/gems/1.8/gems/activesupport-3.0.7/lib/active_support/dependencies.rb:225:in `load_dependency'
from /opt/local/lib/ruby/gems/1.8/gems/activesupport-3.0.7/lib/active_support/dependencies.rb:596:in `new_constants_in'
from /opt/local/lib/ruby/gems/1.8/gems/activesupport-3.0.7/lib/active_support/dependencies.rb:225:in `load_dependency'
from /opt/local/lib/ruby/gems/1.8/gems/activesupport-3.0.7/lib/active_support/dependencies.rb:239:in `require'
from /Users/tonybeninate/Documents/Apps/PhotoBlog/vendor/plugins/paperclip/lib/paperclip.rb:43
from /opt/local/lib/ruby/gems/1.8/gems/activesupport-3.0.7/lib/active_support/dependencies.rb:239:in `require'
from /opt/local/lib/ruby/gems/1.8/gems/activesupport-3.0.7/lib/active_support/dependencies.rb:239:in `require'
from /opt/local/lib/ruby/gems/1.8/gems/activesupport-3.0.7/lib/active_support/dependencies.rb:225:in `load_dependency'
from /opt/local/lib/ruby/gems/1.8/gems/activesupport-3.0.7/lib/active_support/dependencies.rb:596:in `new_constants_in'
from /opt/local/lib/ruby/gems/1.8/gems/activesupport-3.0.7/lib/active_support/dependencies.rb:225:in `load_dependency'
from /opt/local/lib/ruby/gems/1.8/gems/activesupport-3.0.7/lib/active_support/dependencies.rb:239:in `require'
from /Users/tonybeninate/Documents/Apps/PhotoBlog/vendor/plugins/paperclip/lib/paperclip/railtie.rb:1
from /opt/local/lib/ruby/gems/1.8/gems/activesupport-3.0.7/lib/active_support/dependencies.rb:239:in `require'
from /opt/local/lib/ruby/gems/1.8/gems/activesupport-3.0.7/lib/active_support/dependencies.rb:239:in `require'
from /opt/local/lib/ruby/gems/1.8/gems/activesupport-3.0.7/lib/active_support/dependencies.rb:225:in `load_dependency'
from /opt/local/lib/ruby/gems/1.8/gems/activesupport-3.0.7/lib/active_support/dependencies.rb:596:in `new_constants_in'
from /opt/local/lib/ruby/gems/1.8/gems/activesupport-3.0.7/lib/active_support/dependencies.rb:225:in `load_dependency'
from /opt/local/lib/ruby/gems/1.8/gems/activesupport-3.0.7/lib/active_support/dependencies.rb:239:in `require'
from /Users/tonybeninate/Documents/Apps/PhotoBlog/vendor/plugins/paperclip/rails/init.rb:1
from /opt/local/lib/ruby/gems/1.8/gems/railties-3.0.7/lib/rails/plugin.rb:81
from /opt/local/lib/ruby/gems/1.8/gems/railties-3.0.7/lib/rails/initializable.rb:25:in `instance_exec'
from /opt/local/lib/ruby/gems/1.8/gems/railties-3.0.7/lib/rails/initializable.rb:25:in `run'
from /opt/local/lib/ruby/gems/1.8/gems/railties-3.0.7/lib/rails/initializable.rb:50:in `run_initializers'
from /opt/local/lib/ruby/gems/1.8/gems/railties-3.0.7/lib/rails/initializable.rb:49:in `each'
from /opt/local/lib/ruby/gems/1.8/gems/railties-3.0.7/lib/rails/initializable.rb:49:in `run_initializers'
from /opt/local/lib/ruby/gems/1.8/gems/railties-3.0.7/lib/rails/application.rb:134:in `initialize!'
from /opt/local/lib/ruby/gems/1.8/gems/railties-3.0.7/lib/rails/application.rb:77:in `send'
from /opt/local/lib/ruby/gems/1.8/gems/railties-3.0.7/lib/rails/application.rb:77:in `method_missing'
from /Users/tonybeninate/Documents/Apps/PhotoBlog/config/environment.rb:5
from /Users/tonybeninate/Documents/Apps/PhotoBlog/config.ru:3:in `require'
from /Users/tonybeninate/Documents/Apps/PhotoBlog/config.ru:3
from /opt/local/lib/ruby/gems/1.8/gems/rack-1.2.3/lib/rack/builder.rb:46:in `instance_eval'
from /opt/local/lib/ruby/gems/1.8/gems/rack-1.2.3/lib/rack/builder.rb:46:in `initialize'
from /Users/tonybeninate/Documents/Apps/PhotoBlog/config.ru:1:in `new'
from /Users/tonybeninate/Documents/Apps/PhotoBlog/config.ru:1

2 个答案:

答案 0 :(得分:3)

我克隆了您的仓库并运行了应用程序,但没有收到任何错误。您是否尝试过将paperclip安装为gem而不是插件?

这是我在我的一个应用程序中使用的设置(使用Amazon S3进行存储):

# Gemfile
gem 'paperclip'
gem 'aws-s3'

#MyModel migration
class MyModel < ActiveRecord::Migration
  def self.up
    create_table :my_model do |t|
      t.string :name
      t.text :description
      t.string :image_file_name
      t.string :image_content_type
      t.integer :image_file_size
      t.datetime :image_updated_at

      t.timestamps
    end
  end
end


#MyModel.rb  
has_attached_file :image, 
 :storage => :s3, 
 :s3_credentials => "#{RAILS_ROOT}/config/amazons3.yml",
 :path => "pictures/:id.:extension"


#config/amazons3.yml
development:
  access_key_id: MY_ACCESS_KEY_ID
  secret_access_key: MY_SECRET_KEY
  bucket: myBucket

test:
  access_key_id: MY_ACCESS_KEY_ID
  secret_access_key: MY_SECRET_KEY
  bucket: myBucket

production:
  access_key_id: MY_ACCESS_KEY_ID
  secret_access_key: MY_SECRET_KEY
  bucket: myBucket


#app/views/my_model/_form.html.haml
= form_for @my_model_instance, :html => {:multipart => true} do |f|
  %fieldset
    = f.label :name
    = f.text_field :name
  %fieldset
    = f.label 'Attach Image'
    = f.file_field :image
  %fieldset
    = f.label :description
    = f.text_area :description
  %fieldset
    = f.submit 'Save', :class => 'button'

答案 1 :(得分:0)

如果您在开发模式下运行会出现错误,请在终端rails s中写入此内容以运行开发模式

这个

 :s3_credentials => "#{RAILS_ROOT}/config/amazons3.yml",

更改为,以便正确使用Rails 3

:s3_credentials => "#{Rails.root}/config/amazons3.yml",