Как заставить 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, в то время как гем установлен вне сборщика.