使用Mix生成Elixir应用骨架时命名违规报错求助
正确生成Elixir Mix应用骨架的命名规则
Mix对应用名称有严格要求:必须以小写ASCII字母开头,后续只能使用小写字母、数字或下划线,不能包含大写字母或连字符(-)。你的两次报错都是因为不符合这个规则:
- 第一次用
MyApi作为应用名(路径名),包含大写字母,不符合要求; - 第二次用
my-in-memory-api,包含连字符,同样不符合。
以下两种方式可以正确生成符合要求的应用骨架:
方式一:路径名直接使用合法命名规则
直接用下划线替代连字符、全小写命名路径,同时指定模块名:
% mix new my_in_memory_api --module MyApi
这种方式下,Mix会自动将路径名my_in_memory_api作为应用名,完全符合规则。
方式二:显式指定应用名(保留自定义路径名)
如果想保留带连字符的路径名,需要通过--app参数显式声明一个符合规则的应用名:
% mix new my-in-memory-api --app my_in_memory_api --module MyApi
这里路径名可以是my-in-memory-api,但--app指定的my_in_memory_api必须满足Mix的命名要求,同时--module参数用来设置你的Elixir模块名(支持大驼峰命名)。
内容的提问来源于stack exchange,提问作者Alexander Mills
相关产品推荐
相关产品推荐

