Error message from the iex:
iex(2)> [error] Task #PID<0.385.0> started from #PID<0.382.0> terminating ** (ArgumentError) could not fetch application environment :wolfram for application :rumbl because configuration :wolfram was not set
The book says:
Visit the WolframAlpha developer portal, 2 sign up for a
new account, and follow the instructions to get your AppID.
Now that you have a developer API key, you could place it directly in config/dev.exs , but there’s a better way. You shouldn’t check in private credentials under version control. In fact, Phoenix points you in the right direction with the generated config/prod.secret.exs file. That file references environment variables that are securely set on the production server, meaning you can establish sensitive configuration in your local development environment without checking secret values into version control. That way you can include sensitive credentials properly. Let’s add our API key lookup to our development and prod environments. Since tests will not hit the Wolfram API directly, we don’t need to set a key for that environment. Add the following entry to your config/dev.exs and config/prod.secret.exs like this:
wolfram_app_id = System.get_env("WOLFRAM_APP_ID") || raise """ environment variable WOLFRAM_APP_ID is missing. """ config :info_sys, :wolfram, app_id: wolfram_app_id
- The book says to get the api key from WolframAlpha. But later in the code example the api key is not used.
- It says:
In fact, Phoenix points you in the right direction with the generated config/prod.secret.exs file
But in fact, there was no file like that.
defp id, do: Application.fetch_env!(:rumbl, :wolfram)[:app_id]
It is from wolfram.ex
I think the problem is here. But I don’t know what to do here.