```ruby
[%w(builder 2.1.2), %w(i18n 0.1.3), %w(memcache-client 1.7.5), %w(tzinfo 0.3.13)].each do |lib, version|
  # Try to activate a gem ~> satisfying the requested version first.
  begin
    gem lib, "~> #{version}"
  # Use the vendored lib if the gem's missing or we aren't using RubyGems.
  rescue LoadError, NoMethodError
    # Skip if there's already a vendored lib already provided.
    if $LOAD_PATH.grep(Regexp.new(lib)).empty?
      # Push, not unshift, so the vendored lib is lowest priority.
      $LOAD_PATH << File.expand_path("#{File.dirname(__FILE__)}/vendor/#{lib}-#{version}/lib")
    end
  end
end
```

Check if the lib is in the load path and requirable before attempting to activate the gem version
user
```ruby
def ActiveSupport.requirable?(file)
  $LOAD_PATH.any? { |p| Dir.glob("#{p}/#{file}.*").any? }
end

[%w(builder 2.1.2), %w(i18n 0.1.3), %w(memcache-client 1.7.5), %w(tzinfo 0.3.13)].each do |lib, version|
  # If the lib is not already requirable
  unless ActiveSupport.requirable? lib
    # Try to activate a gem ~> satisfying the requested version first.
    begin
      gem lib, "~> #{version}"
      # Use the vendored lib if the gem's missing or we aren't using RubyGems.
    rescue LoadError, NoMethodError
      $LOAD_PATH.unshift File.expand_path("#{File.dirname(__FILE__)}/vendor/#{lib}-#{version}/lib")
    end
  end
end
```
assistant