2013-08-28 10 views
8

Pochodząc ze świata python/django, byłoby wspaniale mieć coś w rodzaju pliku wymagającego.txt dla go/revel. Jak mogę to zrobić? Wiem, że mogę tylko napisać plik requirements.txt a następnie zrobić coś takiegoRównoważna nazwa Golang.txt

cat reqiurements.txt | xargs go get 

ale co jeśli moje wymagania mieć również wymagania? Powyższe polecenie spróbuje je "zdobyć", a następnie nie uda się je zbudować, ponieważ nie mam zainstalowanych tych wymagań.

Czy jest coś, czego mi brakuje?

+5

'iść GET' powinien chwycić wszystkie wymagania potrzebne do każdego opakowania. Nie musisz ich określać. Wypróbuj i sprawdź, czy spełnia to, czego potrzebujesz. – Intermernet

Odpowiedz

13

Komenda go get wykonuje dokładnie to, czego potrzebujesz: znajduje wszystkie zależności i pobiera i instaluje brakujące. Skoncentruj się na "all": naprawdę przechodzi przez twój wykres zależności.

Zapraszamy do obejrzenia dokumentacji:

http://golang.org/cmd/go/#hdr-Download_and_install_packages_and_dependencies

Dokumentacja Go jest naprawdę czyste, krótkie i dobrze napisane. Zalecam, aby najpierw zapoznać się z dokumentacją przed dokonaniem założeń opartych na doświadczeniu z innymi narzędziami lub łańcuchami narzędzi.

+0

Link, który udostępniłeś, nie wyjaśnia, jak mogę napisać własne zależności. Również deweloperzy i użytkownicy mogą mieć inny zestaw zależności. – erikbwork

+0

@erikbwork Czy możesz wyjaśnić czym są "moje własne zależności"? A co rozumiesz przez "inny zestaw zależności" od użytkowników i programistów? Czy myślisz o zależnościach wymaganych tylko przez kod testowy? Jeśli tak, to: Go get uchwyty to (patrz flagi linii poleceń) Jeśli mówisz o dodatkowe narzędzia potrzebne (np. 'Go generates' zależy od yacc lub m4), a następnie get get nie jest dla ciebie. Idź pobierz pliki i buduj pakiety Go ze źródła, nie jest to menedżer pakietów ani narzędzie do administrowania systemem. – Volker

+0

Nie wiem "idź", więc nie mogę ci tego wyjaśnić w tych kategoriach. Ale zwykle nowoczesne oprogramowanie wymaga dodatkowych pakietów, np. twój program może parsować pliki yaml. Następnie potrzebujesz biblioteki go-yaml w wersji 3.1.5. Jeśli nigdy gdzieś tego nie zapisałeś, wątpię, że "idź" to wymyśl. Różnica między programistami a użytkownikami to przede wszystkim stabilność. Devs może używać wersji 3.4.5 zamiast 3.1.5, ponieważ zawiera wszystkie nowe funkcje, ale może się zepsuć. Użytkownicy uzyskują wersję 3.1.5 z najnowszą wersją, ponieważ dzieli się ona rzadziej. – erikbwork

2

Właśnie odkryłem, że faceci z Kubernetes faktycznie stworzyli stronę przeglądową dla siebie here.

Podsumowanie to: Obecnie stabilny jest Glide i chłodny nowa zabawka nazywa dep

Powiązane problemy