Est-il possible d'avoir une installation Haskell réellement portable sur Windows, de sorte que tout ce qui est lié à Haskell se passe dans un seul répertoire. Je veux pouvoir installer Haskell sur une clé USB pour pouvoir l'utiliser sur n'importe quel autre ordinateur Windows en le branchant.Installation Haskell réellement portable sous Windows
Cela voudrait dire quand je dis cabal install somePackage
que tout se passe localement et par rapport à ce répertoire unique (nb pour différents ordinateurs, il peut y avoir une lettre de lecteur différente affectée au lecteur USB). Je voudrais être en mesure d'exécuter ce cabal install somePackage
sur n'importe quel ordinateur Windows. Aussi, ce serait bien si je pouvais copier le contenu de la clé USB sur un disque dur local et cela fonctionne encore à partir de là (sur certaines machines Windows, les clés USB sont montées en lecture seule). Je connais les questions StackOverflow connexes here et here. Puis-je configurer le fichier de configuration de cabal de telle sorte qu'il utilise des chemins relatifs? Qu'en est-il des autres outils Haskell (par exemple, winghci)?
Alors, comment dois-je faire? Installez Haskell Platform en mode portable, puis faites quoi?
Votre meilleur pari sera probablement utiliser 'pile ', qui semble être assez bien arrangé pour ce genre de chose. Mais je ne sais pas assez pour vous dire * comment *. – dfeuer
Je suis d'accord avec @dfeuers suggestion. Sans trouver une config globale de projet, la pile vérifiera l'environnement pour 'STACK_ROOT' et mettra tout son contenu dans ce répertoire. Vous pouvez écrire un script shell simple qui localise le répertoire du script et définit correctement "STACK_ROOT". Comme il s'agit de windows, je suppose que vous devrez utiliser batch (c'est là que mon expertise se termine). La copie de ce script fonctionnera théoriquement encore, s'il recherche le répertoire dans lequel il réside. Aucune installation Haskell que je connais ne le fait, cependant. – user2407038
@ user2407038 et le plan de dfeuer ressemble à un plan logique. Il semble être possible d'obtenir un effet similaire avec les sandbox * cabal-install * plutôt que * stack *, comme suggéré [dans ce blog] (http://christiaanb.github.io/posts/relocatable-sandboxes/). Je n'ai jamais vraiment essayé de faire ça, ou quelque chose comme ça, cependant. – duplode