철근 아래에 Erlang 애플리케이션 (현재는 라이브러리 모듈 중 일부)이 번들로 있습니다. 디렉토리 구조는 다음과 같습니다.얼랭 (Erlang) 셸의 신비한 행동
MyProject
- apps
-- myapp
--- ebin
--- src
--- yada
- rebar
- rebar.conf
MyProject $ ./rebar compile이 예상대로 응답합니다.
Erlang 쉘 (MyProject $ erl -pa apps/*/ebin myapp)을 열었으며 내 보낸 함수를 정상적으로 실행할 수 있습니다.
이제 소스 파일을 편집하고 내 보낸 함수를 추가 한 다음 다시 컴파일합니다. 하지만, 내 새로운 내 보낸 함수를 실행하려고하면 --- 정의되지 않은 함수가 발생합니다. Erlang 쉘에서 myAppModule : module_info/0을 실행합니다. 방금 소스 파일에 추가 한 새 기능이나 다른 기능에 대한 변경 사항은 나열되지 않습니다.
관련 * .beam 파일을 삭제하고 다시 컴파일하십시오. 아직도 내 변경 사항을 볼 수 없습니다.
하지만 이제는 Erlang 셸에서 q를 다시 입력하고 다시 입력하십시오. 당신은 무엇을 알 수 있습니까! 새로운 기능을 포함하여 모든 기능이 정상적으로 작동합니다.
왜 이렇게해야합니까?
많은 감사,
LRP
프로젝트 디렉토리에서 컴파일합니다 : ./rebar compile. 그래서 l (myAppModule) 접근 방식을 시도해 보겠습니다. –
그랬습니다! 많은 감사합니다, Robert! –