2016-09-07 44 views
1

我使用圖書館https://github.com/CargoSense/ex_aws,我就面臨這樣的問題:鳳模塊ExAws.S3.Client未加載,無法找到

== Compilation error on file web/models/s3.ex == 
** (CompileError) web/models/s3.ex:2: module ExAws.S3.Client is not loaded and could not be found 
    (elixir) expanding macro: Kernel.use/2 
    web/models/s3.ex:2: Minion.S3 (module) 
    (elixir) lib/kernel/parallel_compiler.ex:116: anonymous fn/4 in Kernel.ParallelCompiler.spawn_compilers/1 
在我mix.exs

def application do 
    [mod: {Minion, []}, 
    applications: [:phoenix, ... :ex_aws, :httpoison, :poison]] 
    end 
... 
    defp deps do 
    [{:phoenix, "~> 1.2.1"}, 
... 
    {:ex_aws, "~> 1.0.0-beta0"}, 
    {:poison, "~> 2.0"}, 
    {:httpoison, "~> 0.8"}] 
    end 

我config.exs:

config :minion, :ex_aws, 
    access_key_id: "...", 
    secret_access_key: "...", 
    region: "us-east-1", 
    s3: [ 
    scheme: "http://", 
    host: "...", 
    region: "us-east-1" 
    ] 

我s3.ex:

defmodule Minion.S3 do 
    use ExAws.S3.Client, otp_app: :minion 
end 

我會很感激的任何幫助,以在版本解決這個問題

+0

它說'ExAws.S3.Client'沒有加載。你的'ExAws.S3.Client'模塊在哪裏? – TheAnh

+0

@TheAnhLeI認爲它在代碼和應用程​​序中是足夠的:[:phoenix,...:ex_aws,:httpoison,:poison]'。即使需要加載模塊? –

+0

我檢查了最新版本,並且沒有模塊名稱'ExAws.S3.Client'.You可能遵循它的舊指南版本。 – TheAnh

回答

0

:ex_aws,你需要做的是你的模塊Minion.S3在> = 1.0.0不使用舊的(預1.0.0)風格。這就是爲什麼ExAws.S3.Client不存在。相反,嘗試:

  1. 刪除你的文件s3.ex
  2. 在config.exs,從config :minion, :ex_aws,config :ex_aws,
  3. 更新您的要求更改爲新的樣式:S3.list_buckets |> ExAws.request #=> {:ok, response}代替舊式Minion.S3.list_buckets