Taper dans un terminal
opam --version
vous devriez voir quelque chose comme 2.0.8
. Si c’est
tout bon, il vous faut vérifier maintenant l’installation des
packages.
Si vous avez une erreur du style “command not found”, il reste encore une chance. Regardez si opam est bien installé dans votre répertoire local:
ls ~/local
Si vous ne voyez pas apparaitre opam
, c’est qu’il
n’a pas été installé, ou il a été installé mais pas là où le script
aurait dû l’installer. Lisez ceci pour
installer opam
. Il vous sera demandé durant l’installation
où installer opam
. Le répertoire par défaut est un
répertoire réservé à root, vous devez donc choisir un autre répertoire.
Le répertoire ~/local
est ce que je vous propose. Si vous
n’avez pas un répertoire local à la racine de votre compte, il faudra le
créer avant de lancer l’installation d’opam
(cd ~;mkdir local
).
Si vous voyez apparaitre opam
dans votre répertoire
local mais que opam --version
a échoué, tapez
~/local/opam --version
Si cette fois-ci vous voyez la version d’opam installée, il vous
reste seulement à ajouter votre répertoire local dans votre
$PATH
, voir ci-dessous. Si cela marche pas mais qu’opam
apparait bien dans local, c’est peut-être un problème de droits sur le
répertoire local ou le fichier opam.
Taper dans un terminal
echo $HOME
pour connaitre le chemin absolu vers la racine de votre compte. Chez
moi, selon la machine, j’obtiens /users/personnel/e/elozes
ou /u/profs/elozes/
.
Regardez ensuite si le répertoire $HOME/local
est bien
dans$PATH
echo $PATH
Chez moi j’ai /users/personnel/e/elozes/local
et
/u/profs/elozes/local
qui apparaissent bien dans
$PATH
. Si ce n’est pas le cas pour vous, il va falloir l’y
rajouter.
$PATH
Il suffit de taper
export PATH="$HOME/local:$PATH"
et vous devriez avoir maintenant opam qui fonctionne dans cette session shell. Pour que cela reste vrai pour toute session shell future vous devez ajouter la ligne précédente dans votre script d’initialisation.
Ce script d’initialisation dépend du shell que vous avez, et qui peut
changer selon que vous êtes sous un terminal ou sous emacs, sur une
machine d’une salle ou d’une autre, etc. Je vous recommande donc de
créer si ce n’est déjà fait un fichier .profile
qui
contiendra la partie commune à tous les .xxxshrc
, et d’y
mettre la ligne export ...
prédécente. Il faut ensuite
demander à tous les scripts d’initialisation d’aller charger le script
.profile
. Pour faire tout cela, vous pouvez taper
touch .profile
echo "export PATH=\"$HOME/local:\$PATH\"" | cat >> .profile
for x in `ls .*shrc`
do
echo "source .profile" | cat >> $x
done
opam
Vérifiez que vous avez bien une fichier .profile
et
qu’il est sourcé depuis votre .rc
, cf ci-dessus. Ensuite,
tapez
opam init --disable-sandboxing
et répondez y(es) aux deux questions.
Vous avez opam qui fonctionne, et vous avez installé les packages
opam install graphics merlin utop tuareg ocp-indent ocaml-lsp-server user-setup
en répondant y
à la question “continue?”. Si tout s’est
bien passé, vous devriez avoir maintenant un répertoire
~/.opam/
qui contient pas mal de choses. Pour que votre
système sache où les trouver, il faut que les scripts d’initialisations
connaissent ce répertoire. La ligne à rajouter dans votre
.profile
est
eval $(opam env)
Normalement elle y a été ajoutée automatiquement quand vous avez fait
opam init
, mais si ce n’est pas le cas rajoutez-là et
tapez-là aussi dans votre shell courant pour qu’elle prenne effet dans
ce shell.
Maintenant, si vous tapez
which ocaml
vous devriez voir $HOME/.opam/default/bin/ocaml
, où
$HOME
est le chemin absolu vers la racine de votre
compte.