direnv est une extension open-source astucieuse pour votre shell sur un système d’exploitation UNIX tel que Linux et macOS. Il est compilé en un seul exécutable statique et prend en charge des shells tels que frapper, zsh, tcsh, et poisson.

Le but principal de direnv est de permettre des variables d’environnement spécifiques au projet sans encombrer ~/.profile ou des fichiers de démarrage du shell associés. Il implémente une nouvelle façon de charger et décharger les variables d’environnement en fonction du répertoire courant.

Il est utilisé pour charger 12 facteur des applications (une méthodologie pour créer des applications logicielles en tant que service) des variables d’environnement, créer des environnements de développement isolés par projet et également charger des secrets pour le déploiement. En outre, il peut être utilisé pour créer des solutions d’installation et de gestion multi-versions similaires à rbenv, pyenv, et phpenv.

Alors, comment fonctionne direnv?

Avant que le shell ne charge une invite de commande, direnv vérifie l’existence d’un .envrc dans le fichier courant (que vous pouvez afficher à l’aide du commande pwd) et le répertoire parent. Le processus de vérification est rapide et ne peut pas être remarqué à chaque invite.

Une fois qu’il trouve le .envrc fichier avec les autorisations appropriées, il le charge dans un sous-shell bash et il capture toutes les variables exportées et les rend disponibles pour le shell actuel.

Publicité

Installation de direnv dans les systèmes Linux

Dans la plupart des distributions Linux, le direnv Le package peut être installé à partir des référentiels par défaut à l’aide de votre gestionnaire de packages système, comme indiqué.

$ sudo apt install direnv		#Debian,Ubuntu and Mint
$ sudo dnf install direnv		#Fedora

Sur d’autres distributions telles que Red Hat Enterprise Linux (RHEL) et CentOS ou toute distribution qui prend en charge s’enclenche, vous pouvez l’installer en tant que casser. Cela vous oblige à avoir snapd installé sur votre système.

$ sudo snap install direnv

Comment accrocher direnv dans votre shell Bash

Après l’installation direnv, vous devez le connecter à votre shell Linux actuel. Par exemple pour Frapper, ajoutez la ligne suivante à la fin du ~/.bashrc fichier.

Assurez-vous qu’il apparaît même après RVM, git-promptet d’autres extensions de shell qui manipulent l’invite.

eval "$(direnv hook bash)"

Pour ZSH Shell

Ajoutez la ligne suivante à la fin de la ~/.zshrc fichier:

eval "$(direnv hook zsh)" 

Pour FISH Shell

Ajoutez la ligne suivante à la fin de la ~/.config/fish/config.fish fichier:

eval (direnv hook fish)

Fermez ensuite la fenêtre du terminal actif et ouvrez un nouveau shell ou sourcez le fichier comme indiqué.

$ source ~/.bashrc
$ source  ~/.zshrc 
$ source ~/.config/fish/config.fish

Comment utiliser direnv dans Linux Shell

Démontrer comment direnv fonctionne, nous allons créer un nouveau répertoire appelé tecmint_projects et y aller.

$ mkdir ~/tecmint_projects
$ cd tecmint_projects/

Ensuite, créons une nouvelle variable appelée TEST_VARIABLE sur la ligne de commande et quand il est fait écho, la valeur doit être vide:

$ echo $TEST_VARIABLE

Nous allons maintenant créer un nouveau .envrc fichier contenant du code Bash qui sera chargé par direnv. Nous essayons également d’ajouter la ligne «exporter le TEST_VARIABLE = tecmint« En utilisant le commande echo et le caractère de redirection de sortie (>):

$ echo export TEST_VARIABLE=tecmint > .envrc

Par défaut, le mécanisme de sécurité bloque le chargement du .envrc fichier. Comme nous le connaissons comme un fichier sécurisé, nous devons approuver son contenu en exécutant la commande suivante:

$ direnv allow .

Maintenant que le contenu de .envrc fichier a été autorisé à charger, vérifions la valeur de TEST_VARIABLE que nous avons défini avant:

$ echo $TEST_VARIABLE

Lorsque nous quittons le tecmint_project répertoire, le direnv sera déchargé et si nous vérifions la valeur de TEST_VARIABLE encore une fois, il doit être vide:

$ cd ..
$ echo $TEST_VARIABLE
Démonstration Du Fonctionnement De Direnv Sous Linux
Démonstration Du Fonctionnement De Direnv Sous Linux

Chaque fois que vous entrez dans le tecmint_projects répertoire, le .envrc Le fichier sera chargé comme indiqué dans la capture d’écran suivante:

$ cd tecmint_projects/
Chargement Du Fichier Envrc Dans Un Répertoire
Chargement Du Fichier Envrc Dans Un Répertoire

Révoquer l’autorisation d’une personne donnée .envrc, Utilisez le Nier commander.

$ direnv deny .			#in current directory
OR
$ direnv deny /path/to/.envrc

Pour plus d’informations et d’instructions d’utilisation, consultez le direnv page de manuel:

$ man direnv

Aditionellement, direnv utilise également un stdlib (direnv-stdlib) est livré avec plusieurs fonctions qui vous permettent d’ajouter facilement de nouveaux répertoires à votre CHEMIN et bien plus encore.

Pour trouver la documentation de toutes les fonctions disponibles, consultez le direnv-stdlib page d’entrée manuelle:

$ man direnv-stdlib

C’est tout ce que nous avions pour vous! Si vous avez des questions ou des réflexions à partager avec nous, utilisez le formulaire de commentaires ci-dessous.

Si vous appréciez ce que nous faisons ici sur TecMint, vous devriez considérer:

TecMint est le site communautaire à la croissance la plus rapide et le plus fiable pour tout type d’articles, guides et livres Linux sur le Web. Des millions de personnes visitent TecMint! pour rechercher ou parcourir les milliers d’articles publiés disponibles GRATUITEMENT pour tous.

Si vous aimez ce que vous lisez, pensez à nous acheter un café (ou 2) en signe d’appréciation.

Soutenez-Nous

Nous vous remercions de votre soutien sans fin.

.

Rate this post
Publicité
Article précédentLa saison 2 de Slime de la série animée devait sortir en 2020, mais le retard est sur le point de se produire.
Article suivantEn Chine, des milliers de milliards affluent de l’épargne vers les marchés de capitaux. La technologie fait bouger les choses
Avatar De Violette Laurent
Violette Laurent est une blogueuse tech nantaise diplômée en communication de masse et douée pour l'écriture. Elle est la rédactrice en chef de fr.techtribune.net. Les sujets de prédilection de Violette sont la technologie et la cryptographie. Elle est également une grande fan d'Anime et de Manga.

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici