لا يمكن العثور على الأحجار الكريمة في IRB: "NameError: جوهرة ثابت غير مالية من (IRB)"
-
18-09-2019 - |
سؤال
عندما أقوم بتشغيل تطبيق Rails، فهذا يجد جميع الأحجار الكريمة المثبتة بشكل صحيح.
هذه هي المرة الأولى التي أحاول فيها الاتصال ببعض الأحجار الكريمة من داخل IRB ولم أجدها.
blocke:~$ irb
irb(main):001:0> require 'rubygems'
=> true
irb(main):002:0> require 'rails'
LoadError: no such file to load -- rails
from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from (irb):2
irb(main):003:0>
عندما أقوم بتشغيل "GEM English" هذا ما أحصل عليه:
blocke:~$ gem environment
RubyGems Environment:
- RUBYGEMS VERSION: 1.3.5
- RUBY VERSION: 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]
- INSTALLATION DIRECTORY: /usr/lib/ruby/gems/1.8
- RUBY EXECUTABLE: /usr/bin/ruby1.8
- EXECUTABLE DIRECTORY: /usr/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86-linux
- GEM PATHS:
- /usr/lib/ruby/gems/1.8
- /home/blocke/.gem/ruby/1.8
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- "gem" => "--no-ri --no-rdoc"
- :sources => ["http://gemcutter.org", "http://gems.rubyforge.org/", "http://gems.github.com"]
- REMOTE SOURCES:
- http://gemcutter.org
- http://gems.rubyforge.org/
- http://gems.github.com
وفقا ل IRB، فإن مسار GEM هو نفسه إلا في الترتيب العكسي:
blocke:~$ irb
irb(main):001:0> require 'rubygems'
=> true
irb(main):002:0> Gem.path
=> ["/home/blocke/.gem/ruby/1.8", "/usr/lib/ruby/gems/1.8"]
المحلول
لا يعمل لأنه لا يمكن العثور على ملف "Rails.rb" (أعتقد أنه لا يوجد مثل هذا الملف في جهرة القضبان).
يمكنك إما أن تتطلب مكونا محددا للقضبان، مثل "activerecord":
require 'rubygems'
require 'activerecord'
أو استخدم الأمر "جوهرة"، مثل هذا:
require 'rubygems'
gem 'rails'
لا تنتمي إلى StackOverflow