我正在使用此tutorial作为gem sitemap_generator
我能够通过命令rake sitemap构建xml站点地图:刷新但不再存在。这可能是因为我对所有宝石进行了更新。现在我总是得到错误
Don't know how to build task 'environment'
rake sitemap:refresh --trace gives
** Invoke sitemap:refresh (first_time)
** Invoke sitemap:create (first_time)
** Invoke sitemap:require_environment (first_time)
** Execute sitemap:require_environment
rake aborted!
Don't know how to build task 'environment'
/Users/Royal/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/rake/task_manager.rb:62:in `[]'
Rakefile是
require File.expand_path('../config/application', __FILE__)
#Rake tasks for sitemap
require 'sitemap_generator/tasks'
在lib / task / sitemap.rake中我有
require 'aws'
require 'gems'
namespace :sitemap do
desc 'Upload the sitemap files to S3'
task upload_to_s3: :environment do
puts 'Starting sitemap upload to S3...'
s3 = Aws::S3::Resource.new
bucket = s3.bucket(ENV['website'])
Dir.entries(File.join(Rails.root, 'tmp', 'sitemaps')).each do |file_name|
next if %w(. .. .DS_Store).include? file_name
path = "sitemaps/#{file_name}"
file = File.join(Rails.root, 'tmp', 'sitemaps', file_name)
object = bucket.object(path)
object.upload_file(file)
puts "Saved #{file_name} to S3"
end
end
desc 'Create the sitemap, then upload it to S3 and ping the search engines'
task create_upload_and_ping: :environment do
Rake::Task["sitemap:create"].invoke
Rake::Task["sitemap:upload_to_s3"].invoke
SitemapGenerator::Sitemap.ping_search_engines('http://website.co/sitemap.xml.gz')
end
end
非常感谢你的帮助。如果您需要更多信息,请告诉我。
答案 0 :(得分:-1)
我重建了项目,现在它正在运作。谢谢你的帮助。