8
votes

Comment charger une bibliothèque d'Elixir dans un simple script Elixir?

dans les scripts rubis, je pouvais simplement faire:

require 'some-gem'

SomeGem.do_something!


0 commentaires

3 Réponses :


1
votes

sans mélange, cela pourrait être un peu complexe, mais faisable.

Je pense que vous devez expliquer explicitement le chemin où httpoison est compilé en haut de votre script EXS.

Elixir fournit un API code.expand_path pour préparer un chemin d'accès au début de la liste de trajets de code Erlang VM. Vous pouvez trouver plus de description sur l'API ici . < / p>


0 commentaires

5
votes

Il n'y a pas d'immobilisations globales dans Elixir comme il y a de rubis. Bien que cela puisse être techniquement possible de compiler les dépendances dans les fichiers .beam code> et ajoutez-les au chemin de charge de vos scripts (comme l'article que vous avez lié à cela), si vous voulez un comportement quelque peu similaire à Ruby, Je vous recommanderais d'utiliser Mix Run Code> pour exécuter des scripts arbitraires avec toutes les dépendances du projet chargées.

Créer un projet global Mix code> avec toutes les dépendances que vous souhaitez spécifier dans mix.exs code>, écrivez votre code dans n'importe quel fichier .exs code> (ne doit pas être dans le même dossier) et l'exécuter par p>

cd /path/to/mix/project && mix run /path/to/.exs


1 commentaires

Vous devez mettre à jour votre réponse, Elixir 1.12 permet maintenant d'utiliser mix.install dans les scripts.



-1
votes

En utilisant Erun , vous pouvez installer pratiquement des packages de mixage globaux.

https://github.com/s417-lama/erun


0 commentaires