66 votes

aucun fichier de ce type à 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.

106voto

Eimantas Points 29052

J'ai l'intuition que vous avez deux versions rubis. Veuillez coller la sortie de la commande suivante:

$ which -a ruby

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:

  1. Supprimer la version de ruby installé via les ports (yum ou quel que soit le gestionnaire de package).
  2. Supprimer la version de ruby qui est venu avec OS (hardcore rm à la main).
  3. Installer ruby version de ports avec un préfixe différent (/usr au lieu de /usr/local)
  4. Réinstaller rubygems

25voto

J'ai eu un problème similaire sur Ubuntu en raison de l'installation de plusieurs copies de ruby. (1.8 et 1.9.1) Malheureusement, j'ai besoin des deux. La solution consiste à utiliser:

 $ sudo update-alternatives --config ruby
There are 2 choices for the alternative ruby (providing /usr/bin/ruby).

  Selection    Path                Priority   Status
------------------------------------------------------------
* 0            /usr/bin/ruby1.8     50        auto mode
  1            /usr/bin/ruby1.8     50        manual mode
  2            /usr/bin/ruby1.9.1   10        manual mode

Press enter to keep the current choice[*], or type selection number: 2
update-alternatives: using /usr/bin/ruby1.9.1 to provide /usr/bin/ruby (ruby) in manual mode.
 

Après avoir effectué cette offre groupée, vous avez réussi.

18voto

bmoeskau Points 13136

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:

> which -a ruby
/opt/local/bin/ruby
/Users/Brian/.rvm/rubies/ruby-1.9.2-p290/bin/ruby
/Users/Brian/.rvm/bin/ruby
/usr/bin/ruby
/opt/local/bin/ruby

La valeur par défaut Ruby instance en cours d'utilisation par le système semblait être 1.8.7:

> ruby -v
ruby 1.8.7 (2010-06-23 patchlevel 299) [i686-darwin10]

tandis que la version en cours d'utilisation par Rubygems est la version 1.9.2 géré par RVM:

> gem env | grep 'RUBY EXECUTABLE'
  - RUBY EXECUTABLE: /Users/Brian/.rvm/rubies/ruby-1.9.2-p290/bin/ruby

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:

> rvm use 1.9.2
Using /Users/Brian/.rvm/gems/ruby-1.9.2-p290

> ruby -v
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin11.3.0]

Après l'avoir fait mon "aucun fichier" question de s'en alla, et mon script commencé à travailler.

14voto

miguelcobain Points 1116

Je voudrais juste ajouter que dans mon cas, rubygems n'a pas été installé.

Courir sudo apt-get install rubygems résolu le problème!

12voto

ohho Points 17243

Essayez de démarrer le projet avec:

 ./script/server
 

au lieu de script/server si vous utilisez ruby 1.9.2 ( impossibilité étrange d'exiger config / boot après la mise à niveau vers ruby 1.9.2 )

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X