我们需要采取哪些步骤才能让Ranch在Windows上成功运行?
我想在一个很棒的博客系列中有一组很有启发性的例子:
http://dbeck.github.io/Using-Ranch-From-Elixir/
http://dbeck.github.io/simple-TCP-message-performance-in-Elixir/
然而,它要求我们使用Ranch Erlang Lib。
到目前为止,让它在Windows上工作一直很痛苦:
mix.deps.compile失败
C:\Elixir\tcp_eval>mix deps.update --all
Running dependency resolution
Dependency resolution completed successfully
ranch: v1.1.0
C:\Elixir\tcp_eval>mix deps.compile
==> ranch
Access denied - SRC
File not found - -TYPE
File not found - F
File not found - -NAME
Access denied - SRC
File not found - -TYPE
File not found - F
File not found - -NAME
Access denied - SRC
File not found - -TYPE
File not found - F
File not found - -NAME
Access denied - SRC
File not found - -TYPE
File not found - F
File not found - -NAME
File not found - SRC/
File not found - -TYPE
File not found - F
File not found - -NAME
Access denied - EBIN
File not found - -TYPE
File not found - F
File not found - -NAME
APP ranch.app.src
答案 0 :(得分:2)
在这里得到一些帮助:
https://github.com/ninenines/erlang.mk/issues/294#issuecomment-147379818
我能够让Ranch在Windows上工作。
1)安装 msys2环境
2)在MSYS2环境中运行混合
编辑:通过螺纹钢
执行此操作D:\Elixir\tcp_eval>rebar
'rebar' is not recognized as an internal or external command,
operable program or batch file.
D:\Elixir\tcp_eval>rebar3
Rebar3 is a tool for working with Erlang projects.
Usage: rebar [-h] [-v] [<task>]
-h, --help Print this help.
-v, --version Show version information.
<task> Task to run.
Several tasks are available:
as Higher order provider for running multiple tasks in a sequence as a certain profiles.
clean Remove compiled beam files from apps.
compile Compile apps .app.src and .erl files.
cover Perform coverage analysis.
ct Run Common Tests.
deps List dependencies
dialyzer Run the Dialyzer analyzer on the project.
do Higher order provider for running multiple tasks in a sequence.
edoc Generate documentation using edoc.
escriptize Generate escript archive.
eunit Run EUnit Tests.
help Display a list of tasks or help for a given task or subtask.
new Create new project from templates.
path Print paths to build dirs in current profile.
pkgs List available packages.
release Build release of project.
relup Create relup of releases.
report Provide a crash report to be sent to the rebar3 issues page.
shell Run shell with project apps and deps in path.
tar Tar archive of release built of project.
tree Print dependency tree.
unlock Unlock dependencies.
update Update package index.
upgrade Upgrade dependencies.
version Print version for rebar and current Erlang.
xref Run cross reference analysis.
plugins <task>:
list List local and global plugins for this project
upgrade Upgrade plugins
unstable <task>:
install Extract libs from rebar3 escript along with a run script.
upgrade Download latest rebar3 escript and extract.
Run 'rebar3 help <TASK>' for details.
D:\Elixir\tcp_eval>
看看Hex.pm,我决定安装 rebar3 ,这可以很好地与mix进行整合。
关注http://theburningmonk.com/2014/08/getting-started-with-rebar-on-windows/我们可以在Windows上使用 rebar3
但这仍然不起作用:
D:\Elixir\tcp_eval>mix deps.compile
==> ranch
'make' is not recognized as an internal or external command,
operable program or batch file.
==> tcp_eval
** (Mix) Could not compile dependency :ranch, "make" command failed. You can recompile this dependency with "mix deps.compile ranch",
D:\Elixir\tcp_eval>