aucun fichier à charger — rubygems (LoadError)
J'ai récemment installé des rails, dans fedora 12. Je suis nouveau sur linux. Tout fonctionne très bien sur Windows 7. Mais je suis confronté à beaucoup de problèmes sous linux. De l'aide s'il vous plaît!
J'ai installé tous les éléments essentiels à ma connaissance, pour obtenir le script de base/serveur et en cours d'exécution. J'ai cette erreur de démarrage.rb surgissent lorsque j'essaie de script/server. Certains détails, je voudrais vous donner ici:
Les répertoires où les rails, ruby et gem sont installés,
[vineeth@localhost my_app]$ which ruby
/usr/local/bin/ruby
[vineeth@localhost my_app]$ which rails
/usr/bin/rails
[vineeth@localhost my_app]$ which gem
/usr/bin/gem
Et quand je lance le script/server, c'est l'erreur.
[vineeth@localhost my_app]$ script/server
./script/../config/boot.rb:9:in `require': no such file to load -- rubygems (LoadError)
from ./script/../config/boot.rb:9
from script/server:2:in `require'
from script/server:2
Et le CHEMIN d'accès du fichier ressemble à ceci
[vineeth@localhost my_app]$ cat ~/.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH="/usr/local/bin:/usr/local/sbin:/usr/bin/ruby:$PATH"
Je suppose que c'est quelque chose à voir avec le CHEMIN d'accès du fichier. Laissez-moi savoir ce que j'ai besoin de changer ici. Si il y a d'autres changements que je doit faire, s'il vous plaît laissez-moi savoir.
- Comment résoudre ce problème sur windows?
Vous devez vous connecter pour publier un commentaire.
J'ai l'intuition que vous avez deux versions rubis. Veuillez coller la sortie de la commande suivante:
mise à jour concernant le commentaire:
Nuke une version et laisser un seul. J'ai eu le même problème avec les deux versions de la recherche à différents endroits pour les gemmes. A moi de fou pour quelques semaines. Mettre en place une prime ici en ai DONC moi même la réponse, je suis en train de faire pour vous.
J'ai tout nuke une installation de ruby et de la gauche une gérable via les ports. Je vous suggère de le faire:
/usr
au lieu de/usr/local
)rubygems
[vineeth@localhost ~]$ which -a ruby /usr/local/bin/ruby /usr/local/bin/ruby /usr/bin/ruby
Que dois-je faire maintenant?which -a ruby
n'a pas révélé. Quand j'types de ruby et tab-tab puis dans la liste de laruby, ruby1.8 and ruby1.9.1
.J'ai eu un problème similaire sur Ubuntu en raison d'avoir plusieurs copies de ruby installé. (1.8 et 1.9.1) Malheureusement j'ai besoin de deux d'entre eux. La solution est d'utiliser:
Après l'avoir fait bundle install réussi.
OK, je suis un Rubis de noob, mais j'ai eu ce problème un peu différemment que les réponses ici, donc j'espère que cela aide quelqu'un d'autre (tl;dr: j'ai utilisé RVM pour mettre le système en version de Ruby pour le même que celui prévu par rubygems).
Tout d'abord la liste de tous les Rubis, comme mentionné par Eimantas a été un excellent point de départ:
La valeur par défaut Ruby instance en cours d'utilisation par le système semblait être 1.8.7:
tandis que la version en cours d'utilisation par Rubygems est la version 1.9.2 géré par RVM:
Donc c'était vraiment la question. Je n'ai pas activement l'utilisation de Ruby moi-même (c'est simplement une dépendance d'un système de génération de script que je suis en train de lancer) donc je n'ai pas de soins de la version qui a été actif à d'autres fins. Depuis rubygems prévu le 1.9.2 qui a déjà été géré par RVM, j'ai simplement utilisé RVM pour mettre le système à utiliser la version 1.9.2 par défaut:
Après l'avoir fait mon "aucun fichier" question de s'en alla, et mon script commencé à travailler.
Je voudrais juste ajouter que dans mon cas
rubygems
n'était pas installé.De course
sudo apt-get install rubygems
résolu le problème!Essayez de démarrer le projet avec:
au lieu de
script/server
si vous êtes à l'aide de ruby 1.9.2 (à partir de étrange incapacité à exiger config/boot après la mise à jour ruby 1.9.2)Au cas où quelqu'un d'autre est de googler ce problème: j'ai été en mesure de corriger le mien par trouver l'insaisissable "rubygems" le dossier que je voulais utiliser et l'ajouter à mon $RUBYLIB variable d'environnement.
Une fois que vous le trouvez, ajouter le répertoire parent à votre environnement. En bash, comme suit:
Maintenant, si vous exécutez gem, il doit choisir le bon répertoire de la bibliothèque, et vous êtes opérationnel.
J'ai eu un problème similaire, il suffit de l'exécution d'un trivial script ruby qui requiert juste l'gem je voulais...mais j'ai ce message d'erreur. Quand j'ai changé l'incantation à partir de:
à
Semblait fonctionner.
J'ai eu un problème similaire et résolu que par la mise en place RUBYLIB env.
Dans mon environnement, j'ai utilisé ceci:
Si vous avez plusieurs ruby installé, il peut être suffisant de supprimer l'un d'eux, sur MacosX avec extra ports d'installer, de supprimer les ports ruby installation avec:
J'ai aussi eu ce problème.
Ma solution est de supprimer le fichier Gemfile.de verrouillage, et d'installer des gems de nouveau: bundle install
résolu le problème pour moi.
C'est la première réponse quand Googler
'require': cannot load such file -- ubygems (LoadError)
après Google autocorrected "ubygems" à "rubygems". S'avère que c'était une modification intentionnelle entre Ruby 2.4 et 2.5 (Bug #14322). Les Scripts qui permettent de détecter l'utilisateur gemmes répertoire sans prendre en compte la version de ruby sera très probablement échouer.Ruby 2.4
Ruby 2.5
J'ai aussi rencontré le même problème à l'aide de rbenv + passager + nginx. ma solution est de simplement ajouter ces 2 lignes de code à votre nginx config:
la réponse est ici: https://stackoverflow.com/a/15777738/445908
Tout simplement en train de
/bin/bash --login
a fait le tour pour moi, bizarrement. Ne peut pas expliquer.