/ / Ne pas pouvoir trouver le fichier ruby ​​- ruby, irb

Exiger impossible de trouver le fichier ruby ​​- ruby, irb

Je suis un débutant absolu en Ruby. J'ai créé un petit fichier ruby ​​et il fonctionne bien lorsque j'exécute la commande ruby "methods.rb". Cela signifie que je suis dans le bon répertoire.

Mais quand je lance irb et lance la commande require "methods.rb", Je reçois la réponse suivante:

LoadError: cannot load such file -- methods.rb
from /usr/local/rvm/rubies/ruby-1.9.3-p392/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:53:in `require"
from /usr/local/rvm/rubies/ruby-1.9.3-p392/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:53:in `require"
from (irb):1
from /usr/local/rvm/rubies/ruby-1.9.3-p392/bin/irb:16:in `<main>"

Réponses:

10 pour la réponse № 1

Ruby n’ajoute pas le chemin actuel au chemin de chargement par défaut.

De irb, vous pouvez essayer require "./methods.rb" au lieu.


1 pour la réponse № 2

J'ai un fichier de rubis appelé so.rb dans l'annuaire /home/kirti/Ruby. Donc, d’abord à la CISR, je changerais mon répertoire de travail actuel en utilisant Dir#chdir méthode. Alors j'appellerais #load ou #require méthode. ma so.rb le fichier contient seulement p hello ligne.

J'irais de cette façon:

>> Dir.pwd
=> "/home/kirti"
>> Dir.chdir("/home/kirti/Ruby")
=> 0
>> Dir.pwd
=> "/home/kirti/Ruby"
>> load "so.rb"
"hello"
=> true
>> require "./so.rb"
"hello"
=> true

1 pour la réponse № 3

Pour ajouter le répertoire à partir duquel vous exécutez le script ruby, utilisez le chemin de chargement:

$LOAD_PATH.unshift( File.join( File.dirname(__FILE__), "" ) )

ou si vous avez mis vos dépendances dans "sous-répertoire" du répertoire en cours:

$LOAD_PATH.unshift( File.join( File.dirname(__FILE__), "subdir" ) )

1 pour la réponse № 4

Si vous allez charger des éléments dans votre base de données dans votre répertoire actuel, vous pouvez effectuer les opérations suivantes:

irb -I.

Notez le "point" à cet endroit, indiquant le répertoire actuel.

Si vous explorez et apportez des modifications à ce fichier alors que vous êtes dans IRB, utilisez load plutôt que `require comme load vous permet de charger vos modifications, et require n'autorisera le fichier qu'une seule fois. Cela signifie que vous n'aurez pas besoin de quitter IRB pour voir comment vos modifications sont affectées.

Pour savoir quelles options vous avez pour IRB, vous pouvez faire irb --help ce qui est bon à faire si vous apprenez l'outil.