2016-06-14 4 views
2

나는 Elixir 우산 프로젝트가 있습니다. 이 프로젝트의 각 앱은 mix escript.build을 사용하여 실행 파일로 컴파일 할 수 있습니다. 우산 프로젝트의 루트에서 Mix 작업을 만드는 방법은 무엇입니까?

나는이 작동하지 않습니다 이유

** (RuntimeError) Trying to access Mix.Project.app_path for an umbrella project but umbrellas have no app 

이 이해가 다음과 같은 오류가 우산 프로젝트의 루트에서이 명령을 실행하려고하고 있어요하고있다. 그래서 우산 프로젝트의 뿌리에 맞춤 믹싱 작업을 만들려고했습니다. 루트에는 lib 디렉토리가 없으므로 하나 추가하고 그 안에 믹스 작업을 만들었습니다. 그러나 그것은 mix help에 나와 있지 않습니다.

우산 프로젝트의 루트에서 맞춤식 혼합 작업을 어떻게 정의 할 수 있습니까?

답변

8

귀하의 우산 프로젝트에는 코드가 없습니다. 이것은 우산 안의 응용 프로그램이 우산 내부에 있는지 여부에 관계없이 작동하기 때문입니다. 여러 응용 프로그램에서 공유되는 작업을 원할 경우 다른 응용 프로그램과 마찬가지로 일반 응용 프로그램 내에서 정의하고 해당 작업을 사용하는 다른 응용 프로그램이 다른 응용 프로그램과 마찬가지로 사용하도록해야합니다 코드

+0

감사합니다. 그건 의미가 있습니다. 하지만 이제는 루트 레벨에서'mix.exs '를 갖게된다는 요지를 놓치고 있습니다. 나는'deps'가 모든 하위 프로젝트에서 사용할 수있을 것이라고 덧붙였다. 그게 아닌 것처럼 보입니다. 루트 레벨에서'mix.exs'와'deps'가 필요한 이유는 무엇입니까? –

+2

거의 사용하지 않습니다. 우산에서 deps를 생각할 수있는 유일한 유스 케이스는 우산 레벨에서 실행하려는 혼합 작업에 대한 것입니다. –