Не удается заставить awesome_print gem работать - программирование
Подтвердить что ты не робот

Не удается заставить awesome_print gem работать

awesome_print выглядит довольно красиво, поэтому я хотел попробовать.

Я пошел в один из моих проектов и сделал:

gem install awesome_print

и он говорит, что установлен один камень, установлена ​​документация и т.д.

Затем, пока я в этом проекте, я пошел в консоль Rails, чтобы попробовать, но когда я сделал require "awesome_print", как говорится в файле справки, я получаю "невозможно загрузить такой файл".

Кто-нибудь получил это, чтобы работать?

4b9b3361

Ответ 1

gem install поместит код gem на ваш компьютер, но если файлы исходного кода gem не находятся на вашем пути загрузки, require не сможет их найти. bundle exec смотрит на ближайший Gemfile.lock и добавляет исходный код для всех драгоценных камней, перечисленных там, в ваш путь загрузки. Инициализация Rails включает в себя получение Bundler для этого для вас.

Одним из решений является добавление awesome_print в ваш Gemfile. Однако это приведет к тому, что ваше приложение будет иметь awesome_print в качестве зависимости. В качестве альтернативы вы можете вручную добавить библиотеку awesome_print в свой путь загрузки после запуска консоли Rails и затем потребовать ее:

$ rails c
> $LOAD_PATH << path/to/awesome_print-x.x.x/lib
> require 'awesome_print'
> ap {foo: {bar: {baz: :qux}}}

Если вы используете RVM, путь, вероятно, будет чем-то вроде

~/.rvm/rubies/[email protected]_gemset_name/gems/awesome_print-x.x.x/lib

Ответ 2

Добавьте его в свой Gemfile следующим образом:

gem 'awesome_print', :require => 'ap'

Я добавляю его в группу разработки, так как это единственный раз, когда мне это нужно. У драгоценного камня нет других зависимостей от gem, поэтому я регулярно добавляю его в свой Gemfile.

Кроме того, добавьте эти две строки в файл ~/.irbrc, чтобы установить ap в качестве вашего пейджера по умолчанию:

require "awesome_print"
AwesomePrint.irb!

Обратите внимание, что если вы используете это, однако, любые проекты, в которых awesome_print не установлены в его Gemfile, поднимут эту ошибку при запуске rails c:

cannot load such file -- awesome_print

В зависимости от того, что у вас может быть в файле ~/.irbrc, это может привести к другим побочным эффектам, таким как испортить ваше приглашение. Чтобы этого избежать, просто добавьте две строки до самого конца этого файла.

Ответ 3

установите его:

$ gem install awesome_print

включить его в GemFile, если вы хотите:

gem 'awesome_print', :require => 'ap'

добавьте эту строку в файл ~/.irbrc:

require 'awesome_print'
AwesomePrint.irb!

перезапустите оболочку!

просто примечание: я сделал это, и он не работал сразу, возможно, нужно перезагрузить компьютер... или мне просто нужно было закрыть все вкладки оболочки и снова открыть терминал!

Ответ 4

Если вы хотите установить его, не имея его в своем Gemfile, вот как это сделать:

$ gem install awesome_print

У меня возникла проблема, когда она была успешно установлена, но не в нужном каталоге.

В этом случае просто поместите это в свой .bashrc, это установит путь загрузки:

export PATH="/home/user/.gem/ruby/2.3.0/bin:$PATH"
PATH="`ruby -e 'puts Gem.user_dir'`/bin:$PATH"

замените 2.3.0 на версию рубина, с которым вы работаете.
замените пользователь на свое имя пользователя или если вы используете бродягу, а затем замените бродягой

перезагрузите ваш .bashrc или выйдите из терминала, чтобы перезагрузить изменения, а затем снова установите драгоценный камень.

Ответ 5

Одна вещь, которая работала для меня, - это ввести "require" awesome_print ", я бы поставил команду" ap ",

Например:

ap Event.all