Je suis un utilisateur NOVICE de Linux et j'utilise Linux mint 17.1
J'ai réinstallé Linux Mint 20 fois au cours des 3 derniers jours pour ce problème, mais je n'ai pas pu le résoudre
J'essaie d'installer ruby sur des rails à l'aide de rvm ce qui s'est passé est que si vous démarrez une nouvelle installation Linux et essayez d'installer des gemmes et ruby et d'autres choses dans une seule session de terminal, il a été installé avec succès dès que je ferme la session de terminal, je ne peux pas obtenir ces gemmes .
En le réinstallant plus de 20 fois au cours des 3 derniers jours, j'ai également effectué une recherche sur le Web. On m'a dit de mettre la variable d'environnement dans le /etc/environment
chemin en écho dans cette session et de le coller dans le /etc/environment
fichier.
même maintenant, je ne reçois pas mes gemmes installées
quand j'ai tapé rvm -v
j'obtiens les erreurs suivantes
Warning: PATH set to RVM ruby but GEM_HOME and/or GEM_PATH not set, see:
https://github.com/wayneeseguin/rvm/issues/3212
Warning! PATH is not properly set up, $GEM_HOME is not set,
usually this is caused by shell initialization files - check them for 'PATH=...' entries,
it might also help to re-add RVM to your dotfiles: 'rvm get stable --auto-dotfiles',
to fix temporarily in this shell session run: 'rvm use ruby-2.2.2'.
rvm 1.26.11 (latest) by Wayne E. Seguin <[email protected]>, Michal Papis <[email protected]> [https://rvm.io/]
Je suis une personne très novice en ce qui concerne le travail avec le terminal, je peux exécuter quelques commandes de base pour travailler avec ruby.
J'aimerais savoir
- Comment définir PATH
- Comment définir GEM_HOME
- Comment définir GEM_PATH
Voici mon chemin complet
echo $PATH
/home/sharif/.rvm/gems/ruby-2.2.2/bin:/home/sharif/.rvm/gems/ruby-2.2.2@global/bin:/home/sharif/.rvm/rubies/ruby-2.2.2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/sharif/.rvm/bin
Réponses:
On dirait que vous voulez la commande
export
pour définir les variables d'environnement:Cela ne prendra toutefois effet que pour la session en cours. Pour les rendre plus permanents, ajoutez ces lignes à votre
~/.bashrc
.la source
Cela signifie généralement que rvm n'est pas configuré correctement. L'erreur habituelle est que vous n'avez pas modifié
.bashrc
correctement votre (ou similaire) ou que vous n'avez pas rechargé votre terminal.Vous ne devez pas définir GEM_HOME ou GEM_PATH manuellement lorsque vous utilisez rvm.
Vous pouvez essayer de
source ~/.rvm/scripts/rvm
voir si cela fonctionne.Il se peut également que vous n'ayez pas encore construit de gemmes. N'utilisez pas rvm et sudo. Rvm fonctionne mieux lorsqu'il est installé dans votre compte et pas à l'échelle du système.
la source
source ~/.rvm/scripts/rvm
à votre~/.bashrc
pour vous assurer qu'il est chargé à chaque démarrage d'un nouveau shell.Voici ce que j'ai appris et comment j'ai résolu ce problème apparemment courant des erreurs d'environnement GEM_HOME et GEM_PATH.
Contexte
L'installation de RVM est censée créer des vars env GEM_HOME et GEM_PATH pour chaque RVM configuré et il le fait. Mais il y a apparemment un bogue tel que, dans certains cas, les vars env ne sont définis que temporairement, et pour les définir à nouveau, vous devez les définir avec la ligne de commande. J'ai trouvé une solution de contournement pour faire persister les variables d'env pour un RVM.
solution de contournement
Trouvez votre version Ruby active (dans la RVM): Sur votre serveur de production, allez dans le répertoire de votre application et tapez
$rvm list
. Il en résultera une liste des versions de Ruby installées et celle qui est active pour le RVM. Exemple de réponse:rvm rubies ruby-1.9.3-p547 [ x86_64 ] => ruby-1.9.3-p551 [ x86_64 ]
Donc, je sais que le RVM utilise actuellement la version
ruby-1.9.3-p551
. Vous avez besoin de ces informations pour la prochaine étape.Obtenez les chemins d'accès pour GEM_PATH et GEM_HOME : vous faites cela en exécutant à partir de la ligne de commande
$rvm use ruby-1.9.3-p551
. Ensuite, toujours à partir de la ligne de commande, affichez tous les paramètres d'environnement à l'aide de la commandeenv
. Recherchez GEM_PATH et GEM_HOME et copiez-les dans leur intégralité dans un espace de travail.GEM_PATH=/usr/local/rvm/gems/ruby-1.9.3-p551:/usr/local/rvm/gems/ruby-1.9.3-p551@global GEM_HOME=/usr/local/rvm/gems/ruby-1.9.3-p551
Définissez les variables d'environnement GEM_HOME et GEM_PATH: définissez maintenant ces variables d'environnement dans l'un des nombreux fichiers de profil. Je voulais maintenir la structure d'isolement de la version RVM, j'ai donc mis à jour le /profile.d/appspecific.sh avec ces deux lignes:
export GEM_PATH=/usr/local/rvm/gems/ruby-1.9.3-p551:/usr/local/rvm/gems/ruby-1.9.3-p551@global export GEM_HOME=/usr/local/rvm/gems/ruby-1.9.3-p551
la source
J'ai trouvé que .profile est chargé en dernier et cela place ~ / .local / bin et ~ / bin à l'avant du chemin. J'ai déplacé /etc/profile.d/rvm.sh vers ~ / .rvm et à la toute fin de .profile j'ai ajouté "source ~ / .rvm / rvm.sh" et l'erreur a disparu. Je suis sous Linux Mint 18.3. J'ai pyenv, rvm et sdkman installés et ils veulent tous être les derniers. Ils fonctionnent tous bien maintenant. :)
S'il s'agit d'un système partagé, déplacez simplement rvm.sh quelque part hors du chemin et tout autre utilisateur peut le source, comme par exemple /opt/rvm/rvm.sh.
la source
Comme @coteyr l'a mentionné, vous ne devez pas définir manuellement GEM_HOME et GEM_PATH lors de l'utilisation
rvm
. Si vous vérifiez votre variable d'environnement PATH, en exécutant$ echo $PATH
et $ HOME / .rvm / bin en fait partie, alors vous devez vous assurer que votre terminal exécute les commandes comme un shell de connexion. Par exemple si vous êtes sur une machine Ubuntu, vous ouvrez votre terminal puis allez dans: menu> Edition> Préférences de profil> Commande puis sélectionnez "Exécuter la commande en tant que shell de connexion"Cela semble être un ancien problème avec
rvm
lequel je suppose qu'il n'est pas trivial à résoudre car il existe depuis un certain temps.la source
Pour remplir
$GEM_PATH
avec mon système (Manjaro / Arch)gems
j'ai ajouté à mon.bashrc
:la source