
Jeśli się zastanawiasz dlaczego Kurs Severless zaczynamy od instalacji frameworka to odsyłam Cię do tego artykułu, gdzie tłumaczę swoją decyzję o wyborze tego narzędzia.
Skoro ten wstęp mamy już za sobą to myślę, że możemy zaczynać :-)
Serverless Framework
Jest narzędziem napisanym w JavaScript uruchamianym przez Node.js. W związku z tym będziemy potrzebowali zainstalować node oraz npm. Poniżej opis instalacji na trzy popularne platformy Windows (10), Linux (Ubuntu) oraz Mac.
Instalacja w Windows
Normalną procedurą byłoby pobranie instalki Node.js ze strony https://nodejs.org/en/download/ i zainstalowanie oprogramowania.
Ja natomiast preferuje inne, bardziej wszechstronne rozwiązanie. Od paru lat z powodzeniem używam Chocolatey - czyli opensourcowego menadżera pakietów dla Windows. Instalując choco mamy łatwy dostęp do tysięcy aplikacji i programów prosto z linii komend. Instalujemy je podobnie jak ma to miejsce w linuxie, a do tego w większości wypadków “zainstalowane” zostają wersje portable aplikacji, co skutecznie zapobiega zaśmiecaniu rejestru naszego Windowsa.
Chcolately instalujemy zgodnie z instrukcjami na stornie https://chocolatey.org/.
Uruchamiamy linie poleceń (
cmd.exe) w trybie administratora.Następnie uruchamiamy:
1
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
Gdy już mamy
chocomożemy zainstalowaćnvm1
C:\>choco install nvm -y
Odświeżamy zmienne środowiskowe za pomocą polecenia
1
C:\>refreshenv
Za pomocą Node Version Managera instalujemy Node.js wraz z Node Package Manager:
1
C:\>nvm install 12
Uwaga: Wybrałem tutaj starszą wersję niż najnowsza obecnie 13.6. AWS Lambda używa wersji 12 i ze względu na różnice pomiędzy wersjami Node.js najwygodniej dla Ciebie będzie używać tej samej wersji lokalnie w developmencie.
- Wybieramy tę wersję jako domyślną
1
2C:\>nvm use 12
C:\>nvm alias default 12 - Teraz powinniśmy mieć do dyspozycji w linii komend dwa polecenia:
nodeoraznpm.1
2
3
4
5C:\>node -v
v12.13.1
C:\>npm -v
6.12.1 - Teraz możemy zainstalować Serverless Framework za pomocą
npmczyli Node Package Manager. Parametr-ginstaluje pakiet globalnie, czyli umożliwia uruchomienie go z dowolnego katalogu w systemie (dodaje do PATH).1
npm install -g serverless
- W wyniku tej operacji będziemy mieli dostęp do kolejnego polecenia
serverless, które dla wygody posiada swój krótszy alias:sls.1
2
3
4
5
6
7
8
9
10
11
12
13C:\>serverless -v
Framework Core: 1.60.5
Plugin: 3.2.7
SDK: 2.2.1
Components Core: 1.1.2
Components CLI: 1.4.0
C:\>sls -v
Framework Core: 1.60.5
Plugin: 3.2.7
SDK: 2.2.1
Components Core: 1.1.2
Components CLI: 1.4.0
Przy okazji, jeśli jeszcze nie masz gita na swojej maszynie to polecam jego instalację przez choco (znów cmd jako administrator):
1 | choco install git -params "/GitAndUnixToolsOnPath" -y |
Dzięki czemu poza samym gitem zdobędziemy również bardzo podstawowe komendy linuxowe m.in. cat, rm, tail, ls. W repozytorium Chocolatey znajdziecie też vima oraz mc. W ten oto sposób możemy łatwo doposażyć ubogą windowsową konsolę.
Instalacja na Linux
Na Ubuntu 18.04 (ale pewnie też na innych dystrybucjach) instalacja Node.js najwygodniejsza jest za pomocą NVM, czyli Node Version Managera. Jest to lepsze rozwiązanie niż użycie apt ponieważ będziemy mieli dostęp do nowszej wersji npm.
- Rozpoczynamy od
1
$ wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
- Następnie musimy przeładować zmienne w shellu.
1
$ source ~/.profile
- Teraz możemy sprawdzić czy
nvmdziała:1
2$ nvm --version
0.33.8 - Instalujemy
nodeoraznpmjedną komendą1
2$ nvm install 12
$ nvm alias default 12 - Teraz mamy już wszystko:
1
2
3
4$ node -v
v12.13.1
$ npm -v
6.12.1 - Teraz
npmem instalujemy Serverless Framework (tak samo jak na każdej innej platformie)Źródło: https://linuxconfig.org/how-to-install-node-js-on-ubuntu-18-04-bionic-beaver-linux1
$ npm install -g serverless
Instalacja na Macu
Dysponuje macOS Sierra ale zakładam, że na każdym wygląda to tak samo. Podobnie jak na innych platformach instalujemy Node Version Managera. Zainstalowanie Node.js bezpośrednio skutkowało na mojej maszynie problemami z instalacją globalnych pakietów przez npm.
- Do instalacji wykorzystamy
brewczyli kolejny pakiet menadżer. Wykonaj po kolei następujące komendy:1
2
3brew update
brew install nvm
mkdir ~/.nvm - Teraz należy wyedytować plik
.bash_profilew katalogu użytkownika np za pomocą polecenianano ~/.bash_profilei wkleić poniższe ustawienia:1
2export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh - Następnie musimy przeładować zmienne w shellu.
1
source ~/.bash_profile
- Kolejnym krokiem jest instalacja
nodeoraznpmjedną komendą:1
2$ nvm install 12
$ nvm alias default 12 - Teraz
npmem instalujemy Serverless Framework (tak samo jak na każdej innej platformie)Źródło: http://dev.topheman.com/install-nvm-with-homebrew-to-use-multiple-versions-of-node-and-iojs-easily/1
$ npm install -g serverless
Dziękuję i zapraszam do następnej lekcji.
Miłego dnia!