2009-08-06 6 views
10

나는 최근에 debian 패키지에 Erlang RFC4627 (JSON-RPC)을 설치했습니다. 다음얼랭 검색 경로에 경로를 추가 하시겠습니까?

sudo erl -pa ebin 

및 프롬프트에서 : 내가 사용 테스트 서버를 실행 // : 5671을 /과 성공 메시지를 가지고

ok 
을 반환

test_jsonrpc:start_httpd(). 

I은 ​​http 테스트 .

그러나 rabbitmq-http2를 실행하려고하면 readme에 rfc4627의 코드가 erlang 검색 경로에 있지 않음으로 인해 발생하는 오류가 발생합니다. 어떻게 그것을 경로에 두어야합니까? (어쩌면 내가 잘못을 했습니까?)

~/.erlang 

나를 위해 작동하지 않았다 : 나는 파일의 경로를 넣어 제안 데이브 토마스의 블로그에 무언가를 보았다.

+0

고든, 아래 답변을 부탁드립니다 (투표 결과). 불행히도 나는 .erlang 파일과 make 파일의 -pa에 경로를 적용하는 등 여러 방법을 시도했다. 제 질문은 rfc4627과 rabbitmq-http2에 조금 더 구체적이라고 생각합니다. – David

+0

빔이있는 디렉토리의 경로 및 코드 서버에 경로를 추가하는 방법에 대한 자세한 정보를 추가하십시오. 특히, rfc4627 라이브러리에 대한 빔은 어디에 있습니까? – Christian

+0

크리스천, 사실, 나는이 모든 것을 작동 시켰고, 나는 이것에 응답하여 내가 한 일 중 일부를 설명했다. 나는 아마 이번 주말에 그것을 할 것입니다. 위에서 언급 한대로 – David

답변

19

code module은 응용 프로그램 내에서 경로를 조작하는 방법입니다. 그것은 시작에 실행 -

add_patha(Dir) -> true | {error, What} 

당신은 당신의 홈 디렉토리에있는 .erlang 파일에 대한 맞다 :

플래그

당신이 얼랑 쉘이 실제로이 모듈에서 함수를 참조 시작에 사용되는 것을 -pa - 셸 시간 및 편리한 경로를 추가 할 수 있습니다.

erl -pa ./ebin ../../lib/some/path/ebin 

ERL의 플래그 동작은 here를 설명 :

는 응용 프로그램의 경우이 같은 것을 호출하는 배치 파일을 쉘을 시작할 수 있습니다.

더 정교한 경로 관리를 위해서는 OTP release management이 완료된 방법을 잘 알아야합니다. (그러나 아직까지는 그렇지 않습니다.)

+0

을 사용하면이 작업을 수행 할 필요가 없지만 좋은 대답입니다! – David

+0

.erlang 파일의 형식은 무엇입니까? 아니면 심지어 더 나은, 그것에 대한 설명서를 찾을 수 있습니다 – Masse

+0

그것은 쉘에 입력 된 것처럼 평가됩니다 erlang 용어를 소요됩니다. 1.7.1 절을 참조하십시오. http://www.erlang.org/documentation/doc-5.2/doc/getting_started/getting_started.html –