混合ecto.create时argon2 lix剂编译问题

时间:2018-12-23 23:57:14

标签: erlang elixir phoenix-framework

运行mix ecto.create创建postgres数据库时出现以下错误。

==> argon2_elixir
could not compile dependency :argon2_elixir, "mix compile" failed. You can recompile this dependency with "mix deps.compile argon2_elixir", update it with "mix deps.update argon2_elixir" or clean it with "mix deps.clean argon2_elixir"
==> snitch_core
** (Mix) "nmake" not found in the path. If you have set the MAKE environment variable,
please make sure it is correct.

我在mix.exs文件夹下的apps文件中定义它,如下所示:

  # auth
  {:elixir_make, "~> 0.4.2"},
  {:comeonin, "~> 4.1.1"},
  {:argon2_elixir, "~> 1.3.3"},

试图按照错误消息中的建议重新编译该程序包,但无济于事。

在这方面提供帮助。

2 个答案:

答案 0 :(得分:1)

似乎您没有安装gpa = { 'unweighted': { 'A+' : 4.33, 'A' : 4, 'A-' : 3.67, 'B+' : 3.33, 'B' : 3.0, 'B-' : 2.67 }, 'weighted': { 'A+' : 4.67, 'A' : 4.3 } } 。我猜您在Windows上吗?以另一种方式安装nmake,例如参见this answer

答案 1 :(得分:1)

我终于能够解决它。无论您遇到什么具体问题,这都是解决问题和解决问题的通用方法。

首先,我从Visual Studio文件夹nmake.exe复制了C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.15.26726\bin\Hostx64\x64\并粘贴到System32文件夹中。运行命令mix ecto.create并收到更改的详细错误,此错误已解决了该问题。这是错误的输出: ** (Mix) Could not compile with "nmake" (exit status: 2). One option is to install a recent version of [Visual C++ Build Tools](http://landinghub.visualstudio.com/visual-cpp-build-tools) either manually or using [Chocolatey](https://chocolatey.org/) - 选择安装VisualCppBuildTools`。

安装Visual C ++生成工具后,在“程序文件(x86)”中查找 目录并搜索“ Microsoft Visual Studio”。记下完整路径 版本号最高的文件夹的名称。打开“运行”命令,然后 键入以下命令(确保路径和版本号 是正确的):

cmd /K "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64

这应该打开一个带有必要环境变量的命令提示符 设置,然后您就可以从中运行“ mix compile”,“ mix deps.compile”, 和“混合测试”命令。

一行一行地遵循,成功就在您脚下。 :)