Ajouter un chemin à Erlang Chemin de recherche?
Question
J'ai récemment installé Erlang RFC4627 (JSON-RPC) avec le paquet debian. J'ai couru le serveur de test en utilisant:
sudo erl -pa ebin
et puis à l'invite:
test_jsonrpc:start_httpd().
retour
ok
Je l'ai testé avec http: //: 5671 / et a obtenu les messages de réussite
.Lorsque je tente de lancer rabbitmq-HTTP2 cependant, je reçois les erreurs que le readme dit sont causées par le code rfc4627 ne pas être sur le chemin de recherche de Erlang. Comment puis-je le mettre sur le chemin. J'ai vu quelque chose sur le blog de Dave Thomas, qui a suggéré de mettre le chemin dans le fichier:
~/.erlang
Cela ne semble pas fonctionner pour moi (peut-être je l'ai fait mal?).
La solution
Le comment vous manipuler le chemin dans une application.
Les drapeaux -PA que vous avez utilisé dans le démarrage du shell Erlang se réfèrent en fait à une fonction dans ce module:
add_patha(Dir) -> true | {error, What}
Vous avez raison sur le fichier .erlang dans votre répertoire personnel - il est exécuté au moment de démarrage de la coque et vous pouvez ajouter dans les chemins pratiques
.Pour une application vous pouvez commencer le shell avec un fichier de commandes qui appelle quelque chose comme ceci:
erl -pa ./ebin ../../lib/some/path/ebin
Le comportement des drapeaux de ERL est décrit .
Pour la gestion de chemin plus sophistiqué, vous devez vous familiariser avec la façon dont gestion des versions OTP est fait (mais je suppose que c'est un moment loin pour vous encore).