Elixir 无法使用新命令生成phoenix项目

Elixir 无法使用新命令生成phoenix项目,elixir,phoenix-framework,Elixir,Phoenix Framework,我在那里遇到了麻烦 但我在那里发现的解决方案实际上并不适合我,因为我使用的是ubuntu 15.10 问题是: 我试图通过以下方式创建新的凤凰城项目: mix phoenix.new my_app 命令和捕获跟踪错误: 并且是捕获跟随错误 [error] Process #PID<0.47.0> raised an exception (UndefinedFunctionError) undefined function: :crypto.strong_rand_bytes/1 (

我在那里遇到了麻烦

但我在那里发现的解决方案实际上并不适合我,因为我使用的是ubuntu 15.10 问题是: 我试图通过以下方式创建新的凤凰城项目:

mix phoenix.new my_app
命令和捕获跟踪错误:

并且是捕获跟随错误

[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
[error]进程#PID引发异常
(UndefinedFunctionError)未定义的函数:
:crypto.strong_rand_bytes/1(模块:crypto不可用)
:加密。强随机字节(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_编译器.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.quote/3
(elixir)lib/code.ex:363:code.require\u文件/2
我已经尝试过用两种方法安装erlang

  • 我从源代码处编译Erlang,然后安装Elixir和Phoenix 从他们的网站指导框架。它很好用。但我不能 创建一个新的phoenix项目-上面的错误

  • 我正在删除以前的Erlang版本并从Ubuntu安装Erlang 软件中心-Erlag工作正常。但是我不能创建一个项目 同样的错误

  • p.S混合对我来说是正确的。iex也是。
    有什么建议吗?

    您没有安装
    crypto
    ,这在通过kerl安装Erlang时非常常见。没有关于安装功能不全的警告。要确认这一点,请尝试以下操作:

    erl
    1> application:start(crypto).
    ok
    
    如果您得到的不是
    ok
    atom,请尝试运行以下命令:

    sudo apt-get install build-essential libncurses5-dev openssl libssl-dev fop xsltproc unixodbc-dev
    
    然后重新安装Erlang


    您可能从未需要过
    crypto
    并且在没有它的情况下工作过,但是在运行
    mix phoenix时。new
    会为您的应用程序生成密钥,并且它确实需要该模块。

    the
    phoenix
    标记是针对Hadoop phoenix的,而不是Elixir phoenix