Ich benutze marcel aws-s3
gem. Ich versuche, es in meinem Projekt zu verlangen:kann nicht erfordern ruby aws-s3
gem 'aws-s3', :require => 'aws/s3'
Es ist jedoch nicht erforderlich bekommt:
irb(main):003:0> require 'aws/s3'
=> false
Wie kann ich von dem AWS::S3::
Namespace loswerden?
Wenn Sie Bundler verwenden, sollte der ': require' Teil in der Gemdatei bereits den Edelstein benötigen. Wenn Sie es erneut manuell eingeben, wird "false" zurückgegeben. Probieren Sie es mit etwas aus der Stdlib, z. starte IRB und 'require' set'' zweimal hintereinander. –
Danke, das macht Sinn. In meinem Code erkennt es jedoch keine Klassen, ohne es mit "AWS :: S3 ::" zu versehen. – m33lky
Nun, das liegt wahrscheinlich daran, dass die Klassen innerhalb des "S3" -Moduls innerhalb des "AWS" -Moduls definiert sind. Wie Sie feststellen werden, verwenden die Dokumente auch "AWS :: S3 :: Base.establish_connection!". Denken Sie an Namespace, wenn Sie aus einer anderen Sprache kommen und Ruby nicht allzu gut kennen. –