아래 코드가 들어간 프로그램을 컴파일 하면 에러가 발생한다.

module controller

import vweb
import x.json2

pub struct Mattabu {
    vweb.Context
}

@["/request"; post]
fn (mut app Mattabu) request() vweb.Result {
    println(app.req.data)
    raw_json := json2.raw_decode(app.req.data)!

    json := raw_json.as_map()
    println(json)
    return app.text('Request')
}

해당 에러는 다음과 같다.

이를 해결하기 위해서 아래 코드를

raw_json := json2.raw_decode(app.req.data)!

이렇게 바꾸어주었다.

raw_json := json2.raw_decode(app.req.data) or { 
    return app.text('error: ${err}')
}

 

 

'Language > V' 카테고리의 다른 글

vscode extention : v-analyzer 사용하기  (0) 2024.03.27

 

* 참고 : https://github.com/v-analyzer/v-analyzer

 

1. Powershell 에서 다음을 실행한다.

curl -o install.vsh https://raw.githubusercontent.com/v-analyzer/v-analyzer/main/install.vsh; v run install.vsh; del install.vsh

 

2. v-analyzer extention 을 설치한 후에 `V-analyzer: Server Path` 항목에 v-analyzer 가 설치된 위치를 적어준다.

C:\Users\아이디\.config\v-analyzer\bin\v-analyzer

 

I. 설치

일단, 필요한 프로그램을 다운로드받아서 설치부터 합니다.

1. Windows Terminal 을 설치한다.

2. 유사 Linux 환경인 MSYS2 를 설치한다.

3. Visual Studio Code 를 설치한다.

3. 윈도우용 프로그램을 쉽게 설치/관리할 수 있는 Chocolatey 를 설치한다.

4. 내가 좋아하는 텍스트에디터 neovim 도 설치하자. Chocolatey를 이용한다.

> choco install neovim

 

II. 구성

 

(0) MSYS2에 Windows 환경변수 공유하기

 

C:\msys64\msys2.ini과  C:\msys64\mingw64.ini 파일에서 아래 줄의 주석을 풀어준다.

MSYS2_PATH_TYPE=inherit

 

(1) Visual Studio Code 의 터미널에 MSYS2 bash 설정하기

 

메뉴의 "Files - Preference - Settings" 를 선택한다. 그리고, 아래 스크린샷에 표시된 우측 상단에 있는 버튼을 클릭하면, settings.json 이 나타난다.

settings.json 에 다음을 입력한다.

  "terminal.integrated.defaultProfile.windows": "MSYS2",
  "terminal.integrated.profiles.windows": {
    // "PowerShell": {
    //   "source": "PowerShell",
    //   "icon": "terminal-powershell"
    // },
    // "Command Prompt": {
    //   "path": [
    //     "${env:windir}\\Sysnative\\cmd.exe",
    //     "${env:windir}\\System32\\cmd.exe"
    //   ],
    //   "args": [],
    //   "icon": "terminal-cmd"
    // },
    // "Git Bash": {
    //   "source": "Git Bash"
    // },
    "MSYS2": {
      "path": "C:\\msys64\\usr\\bin\\bash.exe",
      "args": [
        "--login",
        "-i"
      ],
      "env": {
        "MSYSTEM": "MINGW64",
        "CHERE_INVOKING": "1"
      }
    }
  },

이제 Visual Studio Code를 다시 시작한 후 터미널을 열어보면, 아래처럼 MSYS2 Bash로 잘 실행될 것이다.

 

(2) Windows Terminal

 

Windows Terminal 을 실행해보면, 기본 터미널이 PowerShell 이다. 이것을 MSYS2로 변경해보자. 상단에 있는 꺽쇠 아이콘을 클릭하면, 메뉴가 내려온다. 여기에서 설정 메뉴를 선택한다.

이번에는 좌측 하단에 있는 Json 파일 열기를 클릭한다. 그러면, 텍스트에디터에서 Windows Terminal의 settings.json 을 열어줄 것이다.

settings.json 파일에 아래 내용을 추가한다.

    {
      "guid": "{71160544-14d8-4194-af25-d05feeac7233}",
      "name": "MSYS / MSYS2",
      "commandline": "C:/msys64/msys2_shell.cmd -defterm -here -no-start -msys -use-full-path",
      "startingDirectory": "C:/msys64/home/%USERNAME%",
      "icon": "C:/msys64/msys2.ico",
      "fontFace": "Lucida Console"
    }

defaultProfile 도 추가한 항목의 guid로 교체해준다. 이렇게 하면 MSYS2가 기본 터미널로 지정된다.

Windows Terminal을 다시 실행하면 MSYS2 bash가 나오는 것을 확인할 수 있다.

 

(3) MSYS2 패키지 최신 상태로 만들기

MSYS2는 Arch Linux 등에서 사용하던 Pacman 패키지 관리자로 패키지를 관리한다. Pacman 명령어를 통해 필요한 개발 도구들을 설치할 수 있다.

아래 명령어로 최신 패키지들 목록을 가져오면서 설치된 패키지들을 업데이트 할 수 있다. 이 것을 2번 실행한다.

$ pacman -Syu

실행되는 모습은 아래와 같다.

필요한 패키지들은 https://packages.msys2.org/queue 에서 검색해볼 수 있다.

 

아래 명령어로 mingw에서 제공하는 toolchain을 설치합니다. Toolchain을 통해 기본적인 빌드 패키지들을 한 번에 받을 수 있습니다.

$ pacman -S mingw-w64-x86_64-toolchain

 

(4) vim, winpty 설치하기

$ pacman -S vim winpty

 

(5) HOME 디렉토리 변경하기

/etc/nsswitch.conf를 아래처럼 변경한다.

# Begin /etc/nsswitch.conf

passwd: files db
group: files # db

db_enum: cache builtin

db_home: env windows cygwin desc
db_shell: env windows # cygwin desc
db_gecos: env # cygwin desc

# End /etc/nsswitch.conf
$ grep "^${USERNAME}:" /etc/passwd >/dev/null 2>&1 || mkpasswd | grep "^${USERNAME}:" >>/etc/passwd

 

(6) neovim 설정하기

먼저 vim 플러그인 관리 도구인 vim-plug 를 설치합니다. PowerShell 을 열어서, 다음을 실행한다.

iwr -useb https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim |`
    ni "$(@($env:XDG_DATA_HOME, $env:LOCALAPPDATA)[$null -eq $env:XDG_DATA_HOME])/nvim-data/site/autoload/plug.vim" -Force

neovim 의 설정 파일은 init.vim 이며, 위치는 아래와 같다.

C:\Users\아이디\AppData\Local\nvim\init.vim

여기에, 아래 내용을 넣어보자.

" Plug-In 시작 (플러그인 설치 경로)
call plug#begin('~/.vim/plugged')

" 설치하고 싶은 플러그인 (예, vim-airline)
Plug 'vim-airline/vim-airline'

" 플러그인 시스템 초기화
call plug#end()

이렇게 저장하고, nvim 을 다시 열고 :Plug<Tab> 을 입력시 아래와 같이 나오면 성공이다.

등록한 플러그인은 nvim 내에서 :PlugInstall 명령어를 입력하여 설치 가능하다. 해보자~!

설치후에, nvim 을 다시 열면... 아래와 같이 조금 더 이쁘게 바뀌어 있을 것이다.

 

 

 

 

 

브라우저에서 https://windows.php.net/download/ 에 접속합니다. 오른쪽에서 원하는 버전의 ZIP 파일을 다운로드 받습니다. 그리고, 화면 왼쪽 VC15 & VS16 항목에서 "Visual C++ Redistributable for Visual Studio 2015-2019" VC_redist.x64.exe 도 다운로드받아서 설치합니다. 이미 설치되어 있으면 설치하지 않아도 됩니다. 그리고, PHP ZIP 파일을 적당한 곳에 풀어서 폴더명도 정해봅니다. 저는 D:\bin\php-8.1.6 에 풀었습니다.

 

환경설정을 위해서 설정 > 정보 > 고급 시스템 설정 을 선택합니다.

 

시스템 속성 창에서 "환경 변수..." 버튼을 클릭한다.

 

환경 변수 창에서 Path를 찾아서 "편집..." 버튼을 클릭합니다.

 

"새로 만들기" 버튼을 클릭하고, PHP가 설치된 폴더를 지정하고, "확인" 버튼을 클릭해서 마무리한다.

 

커맨드 창을 열어서 php -v 를 실행해서 다음처럼 나오면 성공이다.

 

php.ini 파일에서 필요한 extension 이 있다면, 주석을 풀어주자.

 

마지막으로, https://getcomposer.org/Composer-Setup.exe 를 다운로드 받아서, Composer 까지 설치해 놓자.

+ Recent posts