2009-08-06 21 views
10

Recientemente instalé Erlang RFC4627 (JSON-RPC) con el paquete Debian. Me encontré con el servidor de prueba usando:Añadir ruta de acceso a la búsqueda de Erlang?

sudo erl -pa ebin 

y luego en el indicador:

test_jsonrpc:start_httpd(). 

volvió

ok 

Probé con http: //: 5671/y me los mensajes de éxito .

Cuando intento ejecutar rabbitmq-http2, sin embargo, obtengo los errores que el archivo léame indica que el código de rfc4627 no está en la ruta de búsqueda de erlang. ¿Cómo lo pongo en el camino? Vi algo en el blog de Dave Thomas, que sugirió poner la ruta en el archivo:

~/.erlang 

esto no parece funcionar para mí (tal vez lo hice mal?).

+0

Gordon, Agradezco su respuesta a continuación (la votó). Lamentablemente, he intentado varios métodos, incluido el archivo .erlang y la aplicación de la ruta -pa en el archivo make. Supongo que mi pregunta es un poco más particular para rfc4627 y rabbitmq-http2. – David

+0

Agregue más información sobre rutas a los directorios con los haces, y cómo agrega las rutas al servidor de código. Especialmente, ¿dónde tienes los haces para la biblioteca rfc4627? – Christian

+0

Christian, de hecho, entendí que todo esto funciona, he querido responder a esto explicando algo de lo que hice. Probablemente lo haga más tarde esta semana. – David

Respuesta

19

El code module es cómo manipular la ruta dentro de una aplicación.

Las banderas -PA que utilizó en el inicio de la cáscara de Erlang en realidad se refiere a una función en este módulo:

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

tienes razón en el archivo .erlang en su directorio personal - que se ejecuta en el arranque tiempo de inicio del shell y puede agregar caminos útiles.

Para una aplicación puede iniciar la cáscara con un archivo por lotes que llama algo como esto:

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

El comportamiento banderas de ERL se describe here.

Para una administración de ruta más sofisticada, debe familiarizarse con la forma en que se realizó OTP release management (pero sospecho que todavía le queda algo de tiempo).

+0

como se indicó anteriormente, no tuve que hacer esto, ¡pero es una buena respuesta! – David

+0

¿Cuál es el formato del archivo .erlang? O mejor aún, ¿dónde puedo encontrar documentación al respecto? – Masse

+0

Toma los términos de erlang que se evalúan como si se ingresaran en el shell. Vea aquí la Sección 1.7.1 http://www.erlang.org/documentation/doc-5.2/doc/getting_started/getting_started.html –

Cuestiones relacionadas