2015-10-12 47 views
3

请问我们需要采取哪些步骤才能让牧场在Windows上成功运行?在Windows上成功运行牧场的步骤是什么?

有一个非常有益的一套在一个伟大的博客系列的例子,我想在这里跟随:

http://dbeck.github.io/Using-Ranch-From-Elixir/

http://dbeck.github.io/simple-TCP-message-performance-in-Elixir/

但是,由于它需要我们用牧场的Erlang库。

得到这个工作在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 
+2

它看起来像的makefile牧场运行'find'并希望它是Unix版本,但是它取得了Windows版本,实际上它更像'grep'。 – legoscia

+0

我会在msys64环境中再次尝试 –

+0

@ | peer-stritzinger见过你编辑。如果我们可以让Ranch在Windows上运行,那么我们可以将相同或类似的应用于其他使用erlang.mk的erlang库。所以从某种意义上说,这也是一个与erlang相关的帖子。 –

回答

2

从这里一些帮助:

https://github.com/ninenines/erlang.mk/issues/294#issuecomment-147379818

我能够让牧场工作在Windows上。

1)从MSYS2环境中安装运行混合的msys2环境

2)

编辑:通过螺纹钢

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,这个工程/整合得很好与混合。

以下http://theburningmonk.com/2014/08/getting-started-with-rebar-on-windows/我们可以得到rebar3在Windows

工作,但这仍然不能正常工作:

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> 
+1

你应该能够在不使用Msys的情况下工作。你有安装螺纹钢吗? –

+0

@OnorioCatenacci看到这一点: 'd:\药剂\ tcp_eval>混合deps.compile ==>牧场 “使”不被识别为内部或外部的命令, 运行的程序或批处理文件。 ==> tcp_eval **(混合)无法编译依赖关系:ranch,“make”命令失败。“ –

+0

@OnorioCatenacci即使在安装螺纹钢之后,窗口上仍然没有默认的”make“ –

相关问题