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
choco
możemy zainstalowaćnvm
1
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:
node
oraznpm
.1
2
3
4
5C:\>node -v
v12.13.1
C:\>npm -v
6.12.1 - Teraz możemy zainstalować Serverless Framework za pomocą
npm
czyli Node Package Manager. Parametr-g
instaluje 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 git
a 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ż vim
a 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
nvm
działa:1
2$ nvm --version
0.33.8 - Instalujemy
node
oraznpm
jedną 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
npm
em 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
brew
czyli 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_profile
w katalogu użytkownika np za pomocą polecenianano ~/.bash_profile
i 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
node
oraznpm
jedną komendą:1
2$ nvm install 12
$ nvm alias default 12 - Teraz
npm
em 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!