Как заставить awesome_print работать без использования файла ~/.irbrc?

Я хочу использовать потрясающую печать, не помещая ее в мое приложение rails 5. Просто в консоли. Документация по требованию в irb не работает.

2 ответа

Это потому, что упаковщик изолирует драгоценные камни, доступные для загрузки, к тому, что в Gemfile,

Лучший способ обойти это - добавить драгоценный камень к вашему Gemfile

gem 'awesome_print', require: false, group: :development

И в твоем .irbrc, вы можете require это, так что он включен только для вас:

begin
  require 'awesome_print'
rescue LoadError => err
  warn "could not require awesome_print: #{err}"
end

Однако, если по какой-либо причине вам не разрешено добавлять awesome_print в ваш репозиторий, есть несколько способов взломать гемы, но не в вашем Gemfile загрузить в этом GitHub Gist.

Один из таких примеров, который может быть размещен в верхней части вашего .irbrc:

# Add all gems in the global gemset to the $LOAD_PATH so they can be used even
# in places like 'rails console'.
if defined?(::Bundler)
  global_gemset = ENV['GEM_PATH'].split(':').grep(/ruby.*@global/).first
  $LOAD_PATH.concat(Dir.glob("#{global_gemset}/gems/*/lib")) if 
  global_gemset
end
      cd your/rails/project
irb

внутри irb запустите:

      require 'awesome_print'
require './config/environment'

и у вас есть как консоль rails, так и гем awesome_print, в то время как гем установлен вне сборщика.

Другие вопросы по тегам