我在Windows上,我正在尝试安装bcrypt_elixir模块。
我收到以下错误:
$ mix phx.server
==> bcrypt_elixir
could not compile dependency :bcrypt_elixir, "mix compile" failed. You can recompile this dependency with "mix deps.compile bcrypt_elixir", update it with "mix deps.update bcrypt_elixir" or clean it with "mix deps.clean bcrypt_elixir"
** (Mix) "nmake" not found in the path. If you have set the MAKE environment variable,
please make sure it is correct.
以下是错误的终端屏幕截图:
以下是来自deps
的{{1}}函数:
mix.exs
答案 0 :(得分:2)
bcrypt_elixir使用Windows'NMake(参见bcrypt_elixir的Makefile.win
)。
好像你没有安装NMake。
安装Visual Studio或Visual C ++命令行构建工具时包含NMAKE。它不是单独提供的。
所以你需要download Visual Studio才能获得NMake。然后你应该能够编译bcrypt_elixir。
如果您已有NMake ,请确保nmake.exe
位于path的目录下。
答案 1 :(得分:1)
实际上看得更近一点,因为你正在运行Cygwin并尝试在Cygwin下构建bcrypt,nmake
甚至没有进入问题。您需要在Cygwin中安装make
。重新运行cygwin安装程序,选择Devel
类别,然后在Devel中查找make。
好的,所以如果我不得不猜测我要么说你需要
a。)停止尝试在Cygwin提示下构建所有内容 - 如果bcrypt_elixir在Windows上检测到它,它将寻找nmake和nmake不是Cygwin的一部分
您没有说明您是如何寻找nmake的,但如果我是您,我会在C:\Program Files (x86)
目录中尝试此操作。
dir /s nmake.exe
请注意,从Windows cmd提示符运行它 - 它不会在Cygwin shell中运行!
b。)以某种方式设置bcrypt_elixir在Linux上认为它所以它寻找make(与nmake不同)。
基本上我认为最简单的答案是尝试从普通的Windows cmd提示符运行mix phx.server然后从那里开始。或者,如果您需要Linux,则安装虚拟机并将Linux VM放在计算机上并按此方式继续。
答案 2 :(得分:1)
在我的长生不老药项目的酿酒厂设置过程中,我遇到了同样的问题。
安装软件包解决问题,如下所示。
我发现bcrypt_elixir需要从Elixir论坛安装make和build-essential。
平台:-Ubuntu
$ sudo apt install make
$ sudo apt-get install build-essential
答案 3 :(得分:1)
此后,您可以运行mix deps.compile,直到看到如下消息:
之后,您必须按照nmake的建议运行cmd:
cmd /K "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64
在cmd上运行此命令,然后正常运行mix deps.compile
。
答案 4 :(得分:0)
我发现,它是在Windows上运行的最新版本的erlang OTP,版本21, 那是造成问题的原因。我卸载了该版本,然后转到版本20(安装erlang 9.3和Elixir的最新版本,然后在编译时查找该版本),然后bcrypt_elixir编译了所有
答案 5 :(得分:0)
对于Visual Studio 2019(VS2019):
cmd /K "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64