Iva*_*ong 3 elixir phoenix-framework
我有麻烦,因为无法生成凤凰新的应用程序
但我在那里发现的解决方案实际上对我来说并不是因为我正在使用ubuntu 15.10这个问题:我试图创建新的凤凰项目
mix phoenix.new my_app
Run Code Online (Sandbox Code Playgroud)
命令和捕获跟随错误:
并抓住了跟随错误
[error] Process #PID<0.47.0> raised an exception
(UndefinedFunctionError) undefined function:
:crypto.strong_rand_bytes/1 (module :crypto is not available)
:crypto.strong_rand_bytes(64)
lib/phoenix_new.ex:460: Mix.Tasks.Phoenix.New.random_string/1
lib/phoenix_new.ex:189: Mix.Tasks.Phoenix.New.run/4
(mix) lib/mix/cli.ex:60: Mix.CLI.run_task/2
(elixir) src/elixir_compiler.erl:126:
:elixir_compiler.dispatch_loaded/6
(elixir) src/elixir_lexical.erl:16: :elixir_lexical.run/3
(elixir) src/elixir_compiler.erl:30: :elixir_compiler.quoted/3
(elixir) lib/code.ex:363: Code.require_file/2
Run Code Online (Sandbox Code Playgroud)
我已经尝试过两种方式安装erlang
我从源代码编译Erlang,然后从他们的站点指令安装Elixir和Phoenix框架.它工作正常.但我不能创建一个新的凤凰项目 - 上面的错误.
我删除以前的Erlang版本并从Ubuntu软件中心安装Erlang - Erlag工作正常.但我不能再为类似的错误创建一个项目
PS mix适用于我.iex也是.有什么建议?
你没有crypto安装,这是通过kerl安装Erlang时非常常见的.没有警告说安装不能完全正常运行.要确认,请尝试以下方法:
erl
1> application:start(crypto).
ok
Run Code Online (Sandbox Code Playgroud)
如果你得到的不是ok原子,请尝试运行:
sudo apt-get install build-essential libncurses5-dev openssl libssl-dev fop xsltproc unixodbc-dev
Run Code Online (Sandbox Code Playgroud)
然后重新安装Erlang.
您可能从未需要crypto并且没有它,但是在运行mix phoenix.new它时会为您的应用程序生成密钥,它确实需要该模块.