0
有沒有人有任何在Sinatra應用程序中向AWS S3提供資產的經驗。我已經安裝了寶石向Sinatra的AWS s3提供靜態資產
asset_sync
按照這些指令https://github.com/ejholmes/asset-sync-sinatra
當我運行
rake assets:precompile
我在控制檯
cannot load such file -- asset_sync
收到此錯誤信息這是我的設置
的Gemfile
source :rubygems
gem 'sinatra'
gem 'pony'
gem 'sinatra-flash'
gem 'heroku'
gem 'activesupport', require: 'active_support'
gem 'asset_sync', git: 'git://github.com/ejholmes/asset_sync.git', branch: 'sinatra'
config.rb
module MyConfig
def config
environment = ENV["RACK_ENV"] || "development"
YAML.load_file("./config/config.yml")[environment]
end
end
config.yml
development:
aws_access_key: = 'myaccesskey'
aws_secret_key: = 'mysecretkey'
fog_directory: = 'applecatering'
Rake文件
require 'active_support/core_ext'
require 'asset_sync'
require './config/config.rb'
include MyConfig
AssetSync.configure do |con|
con.fog_provider = 'AWS'
con.fog_region = 'eu-west-1'
con.fog_directory = config['fog_directory']
con.aws_access_key_id = config['aws_access_key']
con.aws_secret_access_key = config['aws_secret_key']
con.prefix = "assets"
con.public_path = Pathname("./public")
end
namespace :assets do
desc "Precompile assets"
task :precompile do
AssetSync.sync
end
end
第一次嘗試這樣,任何人都可以看到我在做什麼錯了,我即時發佈或不理解這個?
內容啊謝謝你,現在看來,我有一個問題,我的桶的名字,但我認爲這與他們的規則 – Richlewis 2013-03-17 20:32:45
實際錯誤消息霧遵守:指定的S3存儲名稱(=「applecatering ')不是有效的DNS名稱,這會對性能產生負面影響。 – Richlewis 2013-03-17 20:33:32
您的存儲桶名稱似乎設置爲'='applecatering''。嘗試在定義桶ENV設置的位置擺脫'app'catering'周圍的'='和引號。 – Sam 2013-03-17 20:38:12