Añadir ruta a la ruta de búsqueda de Erlang?
path json-rpc (1)
Recientemente instalé Erlang RFC4627 (JSON-RPC) con el paquete Debian. Ejecuté el servidor de prueba usando:
sudo erl -pa ebin
y luego en el prompt:
test_jsonrpc:start_httpd().
devuelto
ok
Probé con http: //: 5671 / y obtuve los mensajes de éxito.
Sin embargo, cuando intento ejecutar rabbitmq-http2, recibo 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 sugería poner la ruta en el archivo:
~/.erlang
Esto no pareció funcionar para mí (¿quizás lo hice mal?).
El módulo de código es cómo manipular la ruta dentro de una aplicación.
Los indicadores -pa que utilizó al iniciar el shell de Erlang se refieren a una función en este módulo:
add_patha(Dir) -> true | {error, What}
Tiene razón sobre el archivo .erlang en su directorio de inicio: se ejecuta en el momento de inicio del shell y puede agregar rutas prácticas.
Para una aplicación, puede iniciar el shell con un archivo por lotes que llame a algo como esto:
erl -pa ./ebin ../../lib/some/path/ebin
El comportamiento de indicadores de erl se describe aquí .
Para una gestión de rutas más sofisticada, debe familiarizarse con la forma en que se realiza la gestión de versiones de OTP (pero sospecho que todavía le queda un poco de tiempo).