Szukam sposobu, aby wyświetlić tylko te formuły, które zainstalowałem, bez zainstalowanych zależności. Chcę mieć listę wszystkich programów, które faktycznie zainstalowałem, bez szumu zależności.
Wiem o tym, brew list
która zawiera listę wszystkich zainstalowanych formuł. Wiem też, że brew graph
daje mi wykres zależności wgraphviz
Innymi słowy: chcę mieć minimalny zestaw formuł, aby ponownie zainstalować system.
brew graph
??? RozumiemError: Unknown command: graph
. Nie ma takiego polecenia.brew graph
wygląda na to, że jest to pakiet, który możesz zainstalować dla tego github.com/martido/brew-graph , zobacz także blog.jpalardy.com/posts/untangling-your-homebrew-dependenciesOdpowiedzi:
Użycie
brew leaves
: pokaż zainstalowane formuły, które nie są zależnościami innej zainstalowanej formuły.źródło
mysql
tak, jakby nie było to wymagane przez nic, podczas gdy jest to faktycznie wymagane w moim systemie przezmysql-connector-c++
. Czy zdarza ci się wiedzieć, czy jest to zamierzone (np. Jeślibrew
zachowuje się, które formuły są zainstalowane bezpośrednio, a nie tylko, jeśli jest to zależne, czy nie)?Library/Homebrew/cmd/leaves.rb
i zasadniczo robi to, co robi moje rozwiązanie, z wyjątkiem obsługi opcjonalnych / zalecanych zależności (deps << dep.name if tab.with?(dep.name)
). @HaralanDobrev To z pewnością wyjaśnia zachowaniemysql
w twoim systemie i dlaczego wynik różni się od mojego rozwiązania, ale możesz łatwo dostosować sięleaves.rb
do swoich upodobań.brew ls --versions $( brew leaves )brew ls --versions $( brew leaves )
również do zrzucania wersji.Wydaje się, że daje nam to listę wszystkich zainstalowanych formuł, w tym ich zależności. Możemy zbudować listę wszystkich formuł i listę wszystkich zależności oraz odjąć zależności z listy formuł, co powinno dać nam listę formuł, które nie są zależnościami innych formuł:
.
Czy to jest wynik, którego szukasz?
źródło
brew
kiedyś takiego polecenia nie było, ale teraz, kiedy już to robi, lepiej jest skorzystać z wbudowanego. 2) Twój skrypt dobrze pokazuje podwojenie obsługi. Na przykład, jeśli zainstalowałem,php55
który instalujehomebrew/dupes/zlib
, pokaże się,zlib
że nie jest to zależność, która nie jest prawdą. Twoje zdrowie!cut
na wyjściu? Oto jedna linijka:brew deps --installed | cut -d: -f1
brew leaves
za przydatne.pokazuje to zainstalowane formuły jako drzewo.
brew deps --installed --tree
źródło