Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Utilisation de la commande gem, installation d'Asciidoctor-diagram sur Debian

1 réponse
Avatar
Olivier
--000000000000751b24056cf4ca86
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Bonjour,

La page [1] indique une installation d'Asciidoctor-diagram par:
gem install asciidoctor-diagram

Quelles sont les =C3=A9tapes =C3=A0 suivre, pr=C3=A9cautions =C3=A0 prendre=
, sp=C3=A9cifiques =C3=A0
Debian, pour installer et maintenir "proprement" un programme install=C3=A9=
avec
gem ?

Est-il possible et conseill=C3=A9 d'op=C3=A9rer en tant que root pour l'ins=
tallation


[1] https://asciidoctor.org/docs/asciidoctor-diagram/

Slts

--000000000000751b24056cf4ca86
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div><div><div><div>Bonjour,<br><br></div>La page [1] indi=
que une installation d&#39;Asciidoctor-diagram par:<br></div>gem install as=
ciidoctor-diagram<br><br></div>Quelles sont les =C3=A9tapes =C3=A0 suivre, =
pr=C3=A9cautions =C3=A0 prendre, sp=C3=A9cifiques =C3=A0 Debian, pour insta=
ller et maintenir &quot;proprement&quot; un programme install=C3=A9 avec ge=
m ?<br><br></div>Est-il possible et conseill=C3=A9 d&#39;op=C3=A9rer en tan=
t que root pour l&#39;installation <br><div><div><div><br><br>[1] <a href=
=3D"https://asciidoctor.org/docs/asciidoctor-diagram/">https://asciidoctor.=
org/docs/asciidoctor-diagram/</a><br><br></div><div>Slts<br></div></div></d=
iv></div>

--000000000000751b24056cf4ca86--

1 réponse

Avatar
=c3
Bonsoir,
Olivier, le 2018-05-24 :
Quelles sont les étapes à suivre, précautions à prendre,
spécifiques à Debian, pour installer et maintenir "proprement"
un programme installé avec gem ?

À moins d'avoir besoin spécifiquement de travailler avec la
dernière version fournie par les dépôts de Ruby Gems, la
première chose à faire est de vérifier si ledit programme n'est
pas, par hasard, disponible dans le dépôt Debian :
$ apt-cache search asciidoctor
asciidoctor - AsciiDoc to HTML rendering for Ruby
asciidoctor-doc - AsciiDoc to HTML rendering for Ruby (documentation)
ruby-asciidoctor - AsciiDoc to HTML rendering for Ruby (core libraries)
ruby-asciidoctor-plantuml - extension for Asciidoctor to enable support for PlantUML diagrams
et le cas échéant, de l'installer :
# apt install asciidoctor
Cela vous permet de bénéficier immédiatement de la gestion des
dépendances apportée par apt et de conserver un système
cohérent. Si un paquet contenant le programme A dépend de
asciidoctor, mais que vous avez installé via gem un asciidoctor
« trop moderne » par rapport à A, il se peut que ce dernier soit
appelé à la place de celui fourni par Debian, et provoque un
crash lors de l'exécution de A.
Ceci est valable pour tous les autres gestionnaires de paquets
associés aux langages modulaires, non seulement les Ruby Gems,
mais aussi les Python Eggs, les modules Perl distribués par
CPAN, les Crates Rust, les paquets installés via les source,
etc.
Bon, dans notre cas, c'est dommage, asciidoctor est bien
présent dans le dépôt Debian, mais asciidoctor-diagram n'est pas
fourni, lui. :-(
Est-il possible et conseillé d'opérer en tant que root pour
l'installation.

C'est toujours mieux de ne pas opérer en tant que root, quand
c'est possible. :-)
Opérer en tant que root est la manière de procéder par défaut,
et en tant qu'utilisateur, ça coince :
$ gem install asciidoctor-diagram
Fetching: asciidoctor-1.5.7.1.gem (100%)
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /var/lib/gems/2.5.0 directory.
Si vous lancez cette commande en tant que root, l'installation
aura lieu dans /usr/local, donc théoriquement dans une
arborescence qui n'est pas gérée par Debian (via l'installation
de paquets), mais par vous, administrateur du système.
Toutefois, si vous voulez dédier l'application à un utilisateur
donné, vous pouvez installer le paquet dans son répertoire home
comme suit :
$ gem install --user-install asciidoctor-diagram
Fetching: asciidoctor-1.5.7.1.gem (100%)
WARNING: You don't have /home/asciidoctor/.gem/ruby/2.5.0/bin in your PATH,
gem executables will not run.
Successfully installed asciidoctor-1.5.7.1
Fetching: asciidoctor-diagram-1.5.9.gem (100%)
Successfully installed asciidoctor-diagram-1.5.9
Parsing documentation for asciidoctor-1.5.7.1
Installing ri documentation for asciidoctor-1.5.7.1
Parsing documentation for asciidoctor-diagram-1.5.9
Installing ri documentation for asciidoctor-diagram-1.5.9
Done installing documentation for asciidoctor, asciidoctor-diagram after 4 seconds
2 gems installed
Comme indiqué par le message, il sera alors possible de lancer
asciidoctor soit en passant le chemin complet :
$ /home/asciidoctor/.gem/ruby/2.5.0/bin/asciidoctor
soit en réglant votre path pour aller récupérer les exécutables
de ce répertoire bin/ :
$ PATH="/home/asciidoctor/.gem/ruby/2.5.0/bin:$PATH"
À noter : le numéro de version dans le chemin est celui de la
commande gem. Si vous la mettez à jour de sorte que le numéro
de version change, il faudra adapter votre path.
Quant au Gemfile et au bundle, il n'y aura pas de réglage
particulier à faire, ruby ira chercher directement dans ~/.gem/
ses dépendances :
$ echo "gem 'asciidoctor-diagram'" > Gemfile
$ bundle
Resolving dependencies...
Using asciidoctor 1.5.7.1
Using asciidoctor-diagram 1.5.9
Using bundler 1.16.1
Bundle complete! 1 Gemfile dependency, 3 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
La page de man de gem est très succincte, en contrepartie les
commandes associées à gem sont relativement détaillées dans
l'aide en ligne intégrée. Vous pouvez consulter les sorties des
commandes suivantes pour en savoir plus :
$ gem help
$ gem help commands
$ gem help install
En espérant que ça réponde à vos questions,
À plus,
--
Étienne Mollier