2013-02-22 14 views
15

awesome_print Wygląda na całkiem ładny klejnot, więc chciałem go wypróbować.Nie można uzyskać klejnotu awesome_print do pracy

poszedłem do jednego z moich projektów i zrobił:

gem install awesome_print 

i mówi zainstalowany jeden gem, zainstalowane dokumentacja itp

Następnie, podczas gdy ja jestem w tym projekcie, ja poszedłem do mojego Railsowa konsola do wypróbowania, ale kiedy zrobiłem require "awesome_print" jak ich plik pomocy mówi, dostaję "nie mogę załadować takiego pliku".

Czy ktoś to załatwił?

+5

trzeba dodać do Gemfile – jvnill

+1

, więc "dodanie do pliku gem" jest nadal potrzebne, mimo że instalujemy klejnot? –

+0

zadziałało! Dzięki. –

Odpowiedz

18

gem install położy kod gem na komputerze, ale jeśli pliki kodu źródłowego gem nie znajdują się na ścieżce ładowania, require nie będzie w stanie ich znaleźć. bundle exec wygląda na najbliższą Gemfile.lock i dodaje kod źródłowy dla wszystkich wymienionych tam klejnotów do ścieżki ładowania. Inicjalizacja Railsów obejmuje pobranie programu Bundler, aby zrobił to za Ciebie.

Jednym z rozwiązań jest dodanie awesome_print do Gemfile. Spowoduje to jednak, że Twoja aplikacja będzie miała zależność awesome_print. Alternatywnie można ręcznie dodać bibliotekę awesome_print do ścieżki obciążenia po uruchomieniu konsoli Rails i następnie wymagając go:

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

Jeśli używasz RVM, ścieżka może być coś podobnego

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

awesome_print nie działa, jeśli wykonujesz 'C: \> app' lub' C: \> app.request', 'C: \> app.response' i inne. Nie wpływa na wywołania metod. – Green

+0

Absolutnie mam awesome_print w moim Gemfile i instaluje się dobrze, ale pojawia się ten sam błąd co oryginalny OP, kiedy próbuję go wymagać wewnątrz pliku. –

22

go dodać do Gemfile tak:

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

dodaję go do grupy rozwoju, ponieważ jest to jedyny raz, kiedy jest to potrzebne. Klejnot nie ma żadnych innych zależności gem, więc rutynowo dodaję go do mojego Gemfile.

także dodać te dwie linie do pliku ~/.irbrc ustawić ap być domyślny pager:

require "awesome_print" 
AwesomePrint.irb! 

Zauważ, że jeśli używasz to jednak, w przypadku projektów, gdzie awesome_print nie jest zainstalowany w jego Gemfile podniesie ten błąd podczas uruchamiania rails c:

cannot load such file -- awesome_print 

zależności od czegokolwiek innego, co może mieć w swoim pliku ~/.irbrc, może to powodować inne skutki uboczne, takie jak brudząc swój wiersz. Aby tego uniknąć, wystarczy dodać dwie linie na samym końcu tego pliku.

6

zainstalować go:

$ gem install awesome_print 

umieścić go w was GemFile, jeśli chcesz:

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

dodać tę linię do pliku ~/.irbrc:

require 'awesome_print' 
AwesomePrint.irb! 

restartu twoja skorupa!

po prostu notka: Zrobiłem to i nie działało od razu, prawdopodobnie trzeba zrestartować komputer ... lub po prostu musiałem zamknąć wszystkie zakładki powłoki i ponownie otworzyć terminal!

1

Jeśli szukasz zainstalować go bez konieczności go w Gemfile, to jak to zrobić:

$ gem install awesome_print 

biegałam do problemu gdzie był instalowany pomyślnie, ale nie we właściwym katalogu .

W takim przypadku po prostu umieścić to w .bashrc, to ustawić ścieżkę obciążenie:

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

zastąpić 2.3.0 z wersją rubin, na którym pracujemy.
zastąpić użytkownikowi podając swój loginlub jeśli używasz włóczęga następnie zastąpić włóczęga

przeładować .bashrc lub wyjść z terminalu, aby przeładować zmiany, a następnie ponownie zainstalować gem.

-1

Jedną rzeczą, która pracowała dla mnie było po wpisaniu 'require 'awesome_print'', chciałbym umieścić komendę 'ap',

Na przykład:

ap Event.all

Powiązane problemy