Page 1 sur 1

[..] Mettre à jour les commandes cmd disponibles ?

Posté : dim. 15 déc. 2013 14:35
par geofred1993
Salut tout le monde,

D'abord, désolé pour le titre, je n'ai pas trouvé de meilleures formules pour exprimer mon problème.

J'ai ici un script qui télécharge Ruby et l'installe.
Le problème c'est que j'aimerais aussi installer des gems par la suite.
Mais il ne reconnait pas la commande gem, car elle vient juste d'être installée.
Il faudrait mettre à jours la liste des commandes disponibles (quitter cmd, relancer cmd).

Code : Tout sélectionner

Func RubyInstall()
    SetCasperJS()

    ; Download
    ShellExecuteWait('casperjs', @ScriptDir & "\scripts\ruby.js")

    ; Install
    ShellExecuteWait(@ScriptDir & '\ruby.exe', '/verysilent /dir="C:\DevTools\ruby" /tasks="assocfiles,modpath"')

    ; Install GEM packages (ne marche pas, car gem n'est pas reconnue)
    ShellExecuteWait('gem', 'install compass')

EndFunc

Re: [..] Mettre à jour les commandes cmd disponibles ?

Posté : lun. 16 déc. 2013 09:02
par jguinch
Le fait que la commande se soit pas trouvée vient certainement du fait que l'installation de ruby modifie le PATH, mais ton programme n'est pas averti de cette modification.

Ce que tu peux faire c'est mettre un EnvUpdate() avant le lancement de gem, ou éventuellement, forcer la mise à jour du PATH dans ton programme :
EnvSet("PATH", RegRead("HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment", "PATH") )
Sinon, plus simplement, tu spécifies le chemin complet du programme gem ...