로컬에 Lua 설치하기

내 컴퓨터에서 Exercism의 연습 문제를 풀기 위해 Lua를 로컬에 설치하는 방법을 배워요.


MacOS

먼저 Homebrew로 Lua와 Luarocks를 설치해요:

$ brew install lua luarocks

그런 다음 Lua용 Busted 테스트 프레임워크를 설치해요:

$ luarocks install --local busted

시스템 $PATH에 ~/.luarocks/bin을 추가해요

export PATH="$HOME/.luarocks/bin:$PATH"

이 설정은 임시로만 적용돼요. $PATH에 영구적으로 추가하려면 사용하는 셸에 따라 .bashrc, .zshrc, config.fish 중 하나에 추가해야 해요.

그런 다음 테스트를 실행해요:

$ busted

Ubuntu

먼저 Apt로 Lua와 Luarocks를 설치해요:

$ sudo apt-get install lua5.4 liblua5.4-dev luarocks

그런 다음 Lua용 Busted 테스트 프레임워크를 설치해요:

$ luarocks install --local busted

시스템 $PATH에 ~/.luarocks/bin을 추가해요

export PATH="$HOME/.luarocks/bin:$PATH"

이 설정은 임시로만 적용돼요. $PATH에 영구적으로 추가하려면 사용하는 셸에 따라 .bashrc, .zshrc, config.fish 중 하나에 추가해야 해요.

그런 다음 테스트를 실행해요:

$ busted

Windows 10: WSL

먼저 PowerShell(관리자)로 WSL(리눅스용 윈도우 하위 시스템)을 활성화해야 해요:

PS> Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

이 작업에는 재부팅이 필요해요.

다음으로 Microsoft Store에서 Ubuntu를 설치하거나, 또는 PowerShell로 다운로드한 뒤 설치해요:

PS> curl.exe -L -o ubuntu1804.appx https://aka.ms/wsl-ubuntu-1804
PS> Add-AppxPackage .\ubuntu1804.appx; rm .\ubuntu1804.appx
PS> ubuntu1804

그런 다음 패키지 목록을 업데이트해요:

PS> wsl
$ sudo apt-get update

이제 위의 Ubuntu 설치 안내를 따라 LuaRocks와 Busted를 설치할 준비가 됐어요.

설치를 마치면 Windows 명령줄에서 바로 테스트를 실행할 수 있어요:

C:\> wsl busted

Windows 10: Docker

Gitbash 설치하기

이 단계는 선택 사항이에요. Windows 기본 CLI나 다른 CLI를 사용한다면 다음 단계를 조금 수정해야 할 수도 있어요.

다운로드는 여기에서, 설치 안내는 여기에서 확인해요.

Docker 설치하기

Docker for Windows 설치 안내를 따라 설치해요. 설치를 마치면 다음 명령을 실행해서 제대로 설치됐는지 확인할 수 있어요.

$ docker --version

Docker를 처음 실행할 때 오류가 발생할 수 있어요.

cannot enable hyper-v service

이런 경우 다음 안내에 따라 Hyper V를 활성화하면 돼요. 설정을 비활성화한 뒤 컴퓨터를 다시 시작하고, 부팅 후 다시 활성화해야 할 수도 있어요.

busted 설치하기

Gitbash와 Docker를 설치했다면 busted '컨테이너'를 설치할 수 있어요.

Gitbash에서 다음을 실행해요:

널리 쓰이는 이 Docker 컨테이너를 다음 명령으로 내려받아요:

$ docker pull imega/busted

매번 명령 전체를 입력하지 않아도 되도록 함수를 만들어요. .bashrc에 다음을 추가해요:

dbusted() { docker run --rm -t -v "/$@":/data imega/busted; }

이제 CLI에서 테스트를 실행할 디렉터리로 이동할 수 있어요. 다음을 실행해요:

$ dbusted $PWD

busted 테스트의 출력이 보일 거예요.