Je rencontre fréquemment des problèmes liés au chemin lors de la compilation ou de l'exécution d'une application.J'ai deux versions de noeud dans mon système, l'une provient du dépôt officiel, l'autre installée manuellement du code source. Aujourd'hui, je voulais compiler crochets, lorsque je lance npm install
, il m'a demandé d'utiliser une version ultérieure telle que 1.4.20. La version par défaut de celui-ci est dans /usr/bin/npm
qui n'a pas fonctionné. Celui installé manuellement est dans /usr/local/bin/npm
Existe-t-il un moyen de définir /usr/local/bin/npm
comme chemin par défaut à l'aide de update-alternatives
ou d'une autre méthode?
Par exemple, vous pouvez définir l’éditeur de texte par défaut avec
Sudo update-alternatives --config editor
J'ai trouvé comment faire ça. Au début, j'ai vérifié le chemin par défaut de npm
qui est une version plus ancienne (1.3.10) dans /usr/bin/npm
, j'ai remarqué qu'il s'agissait d'un lien symbolique vers /usr/share/npm/bin/npm-cli.js
je l'ai supprimé.
Sudo unlink /usr/bin/npm
Puis j'ai essayé de suivre la commande
Sudo update-alternatives --install /usr/bin/npm npm /usr/local/bin/npm 10
Sudo update-alternatives --install /usr/bin/npm npm /usr/share/npm/bin/npm-cli.js 20
Maintenant, je peux facilement basculer entre eux en utilisant
Sudo update-alternatives --config npm
Ça marche bien
Puisque vous avez mentionné le noeud , je pensais pouvoir vous indiquer que c’était une bonne occasion d’utiliser le gestionnaire d’installation N pour NodeJS . Si j'ai un gestionnaire de paquets "de niveau supérieur" comme celui-ci, je l'utilisera généralement sur update-alternatives . C’est généralement moins compliqué que d’essayer de retrouver des fichiers importants vous-même, IMO. Cela dit, je pense que update-alternatives fonctionnera toujours.