2017-09-30 65 views
12

Chciałbym przygotować środowiskodo pracy z Swift na Ubuntu 16.04.Programowanie w Swift na Linuksie

Zainstalowałem edytor Swift i Atom. Zainstalowałem pakiet Script, który pozwala mi uruchomić kod z edytora Atom.

Generalnie jest miło, gdy kompiluję i uruchamiam jeden plik (skrót Ctrl + Shift + B). Problem polega na tym, że chciałbym zbudować projekt złożony z kilku plików. Klasy zdefiniowane w innych plikach (nie tych, które kompiluję) nie są widoczne (błąd kompilacji).

Czy można skonfigurować edytor tak, aby kompilował i uruchamiał cały projekt? Jak importować bibliotekę zewnętrzną, np. ObjectMapper?

+0

FYI: [Medium: Hacking Atom stworzyć Swift IDE, który działa na Linuksie i Mac ⇗] (https://medium.com/@Aciid/hacking-atom-to-create-a-swift-ide-that-runs-on-linux-and-mac-c7d9520a0fac), [Medium: Pierwsze kroki z Vapor i Swift On Ubuntu 16.04 ⇗] (https: // medium .com/@ addamb/getting-started-with-vapor-and-swift-on-ubuntu-16-04-31a426654115), [Średni/TheSwiftWebDeveloper: Używanie Atom dla Web Development z Swift ⇗] (https: // theswiftwebdeveloper. com/using-atom-for-web-development-with-swift-6ab42ac415c2) –

Odpowiedz

2

Możesz użyć pakietu Atom build. Umożliwia tworzenie niestandardowych poleceń kompilacji i takich za pomocą zwykłych dostawców kompilacji. Możesz budować za pomocą Makefile lub JSON lub CSON lub YAML lub nawet JavaScript. Zapewnia wystarczającą elastyczność, dzięki której można zbudować prawie wszystko. Po prostu utwórz plik kompilacji tak, aby wskazywał na wszystkie pliki do kompilacji z odpowiednim kompilatorem (prawdopodobnie w twoim przypadku prawdopodobnie swiftc). Za pomocą pliku kompilacji JavaScript można nawet określić polecenie uruchamiane przed i po kompilacji, powiedzmy, aby uruchomić nowo utworzony program.

1

Jest świetny projekt open source, który oglądałem zwany Maratonem. To jest menedżer pakietów i pracowali nad wdrożeniem na Linuksie. Nie jestem pewien, ile osiągnął sukces, ale możesz śledzić tutaj i być może pomóc.

https://github.com/JohnSundell/Marathon/issues/37

Edit: Wygląda na to, że działa na Linux!

git clone https://github.com/JohnSundell/Marathon.git 
$ cd Marathon 
$ swift build -c release 
$ cp -f .build/release/Marathon /usr/local/bin/marathon