개발자를 위한 윈도우 셋업

yyoujg·2022년 4월 11일
0
post-thumbnail

#0.1 Welcome

windows 업데이트 - 업데이트 확인 (windows 2004 이상)

#1.0 Essential Software

  1. 구글 chrome 브라우저 다운로드
  • 웹사이트를 테스트하기 편리하고 최신 API랑 개발자 도구를 제공해줘서 좋음.
  1. visual studio code 다운로드

#1.1 Customizing VSCode

  1. git 설치
  2. Visual Studio Code Extension
    1. Python
    2. ESLint
    3. Prettier
    4. Material Tneme
    5. Material Icon Tneme

#1.2 Chocolatey

윈도우에 리눅스 서브시스템(WSL)을 설치하면 윈도우 상에서 리눅스 콘솔을 사용할 수 있고 리눅스와 윈도우를 둘 다 사용할 수 있다.

Windows Subsystem for Linux(WSL) 사용법

리눅스에 매번 갈 필요 없이 윈도우를 사용하면서 개발 환경을 꾸릴 수 있는 방법

Chocolatey : 윈도우에서 무언가를 설치하는 것을 도와줌.

설치한 후 잘 작동하는지를 콘솔창에서 바로 확인해 볼 수 있음.

  1. Get started - Now run the following command 복사 - Powershell admin(관리자 권한)으로 실행 -붙여넣기 엔터 - 다시 실행 - choco 입력

    chocolatey는 power shell에서 작동한다.

    choco는 프로그래밍하듯 무언가를 설치할 수 있다. (MacOS에는 없음)

  2. chocolately.org - find package 클릭 - I understand 클릭 - python검색 - 복사 - 붙여넣기 엔터 - 전체 동의 a

#1.3 Windows Terminal and Ubuntu

  1. Powershell 껐다가 다시 켜기 - python 엔터 - 잘 설치되었는지 확인

    Chocolatey는 설치한 후 잘 작동하는지를 콘솔창에서 바로 확인할 수 있다.

    Chocolatey 없이 설치하면 가끔 console 창에 나타나지 않는 경우가 있다.

  2. exit() 엔터로 나가기

Powershell을 대체할 방법 - 윈도우 터미널

MS 스토어에 있는 버전과 다를 수 있다.

  1. chocolately.org - find package 클릭 - I understand 클릭 - wondows terminal 검색 -복사 - 붙여넣기(설치) - 전체 동의 a

  2. windows terminal 실행 - power shell로 변경 - ls 명령어 입력

    windows terminal은 power shell처럼 커맨드를 사용할 수 있다.

  3. cd OneDrive 명령어 입력

  4. code .\hello.js 명령어 입력하면 바로 VS Code를 열 수 있다.

  5. clear 명령어 입력

터미널로 가보면 여러 종류의 터미널을 사용할 수 있다. Powershell, 기본 명령 프롬프트, Azure Cloud shell 등

Window Subsystem for Linux(WSL) 추가

Window Subsystem for Linux(WSL)는 리눅스 계열 OS를 설치할 수 있게 해주는데 Ubuntu가 가장 편하고 좋을 것이다.

  1. enable wsl2 검색 - 명령어 복사
  2. 터미널 종료 후 재실행 - 명령어 입력
  3. 터미널 종료 후 MS 스토어 - Ubuntu 검색 다운로드

#1.4 WSL2

윈도우 환경에서 리눅스 사용하기

  1. 재부팅 후 Ubuntu 실행
  2. 설치중, 몇 분 정도 기다려야 한다는 메세지 후
  3. Unix 사용자 계정을 만들라고 함. - 윈도우가 아닌 리눅스 유저 계정을 만드는 것. 새로운 OS에 새로운 계정을 만들어 주는 것. 윈도우랑 관련이 없기 때문에 아예 새로운 유저를 만든다고 보면 된다.
  4. 비밀번호 / 비밀번호 재입력 엔터

WSL 2 설치

https://docs.microsoft.com/ko-kr/windows/wsl/install-manual

  1. wsl --list --verbose 검색 우분투 버전 확인

  2. wsl --set--version Ubuntu20.04LTS 2 명령어 입력

    BIOS의 virtualization 설정 때문에 에러가 생길 수 있다.

    BIOS는 컴퓨터의 기초가 되는 펌웨어인데 OS는 BIOS 위에서 동작한다.

    가상 머신을 쓰고 있다면 BIOS에다 가상화를 가능하게 하려면 구글 검색을 통해 설정하는 법을 찾아봐야 한다. BIOS에서 가상화를 켜주면 된다. 마더보드가 가상화를 지원하지 않는다면 WSL 2로 진행할 수 없다. WSL를 사용할 수 없는 것이 아니라 버전 2를 사용할 수 없다.

#2.0 Installation

  1. 설정 - Json 파일 열기(VS Code가 실행됨)
  2. Remote WSL 설치 - WSL을 VS Code 내에서 사용할 수 있도록 도와주는 익스텐션. 리눅스 환경이랑 상호작용할 수 있다.
  3. settings.json 파일에서 profiles를 보면 모든 프로파일은 이름, 커맨드라인, hidden(감춤): false를 포함하고 있다.
  4. 새 탭을 열면 powershell이 나오는데 Ubuntu가 나오도록 바꾸려면 각각의 프로파일에 있는 고유 ID 중 골라 Default profiles에 붙여 넣어준다.

oh my zsh 설치

https://github.com/ohmyzsh/ohmyzsh

우분투에서 설치하는 법(윈도우와 맥에서 설치하는 법과 다름)

윈도우 콘솔에 설치하는 것은 콘솔에서만 사용할 수 있는 것들이다.

다운로드 받거나 더블 클릭해서 실행하는 것은 없다.

  1. apt install zsh를 콘솔에 친다.

  2. admin 유저가 아니라는 오류

    리눅스에는 크게 두 가지 유저 타입이 있는데 하나는 일반 유저(생성한 아이디)이고 다른 하나는 super admin(root-파일 시스템을 바꾸거나 기타 등등 안전하지 않은 작업을 하는 권한)이다.

  3. 기본값으로 root를 쓰지 않고 아까 만든 아이디를 쓰고 있는데 root를 쓰고 싶다면 sudo apt install zsh 입력

  4. 비밀번호 입력

  5. y 입력 - zsh 설치 완료

  6. 복사한 커맨드 붙여넣기

    sh -c "$(curl -fsSL [https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh](https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh))"
  7. 디폴트 쉘을 zsh로 바꿈 - y 입력

  8. 비밀번호 입력 - shell의 디폴트가 zsh로 변경됨

  9. code 명령어 입력 - 우분투에 VS Code 서버 설치

#2.1 ~ 2.2 Powerlevel10K

https://aka.ms/terminal-color-schemes

터미널을 원하는대로 수정하고 커스터마이징할 수 있다.

  1. 터미널 설정 파일(settings.json)을 열어보면 스킴(Schemes)이라는 것을 볼 수 있고 링크가 있다. - 윈도우 터미널에서 색깔을 바꾸는 것에 대해 알려주는 페이지
  2. 원하는 프로파일에 가서 원하는 색 scheme을 적으면 된다.
  3. 터미널을 매우 멋진 테마를 가지고 있다. 테마이름을 복사한 후 우분투 프로파일 뒤에 ,를 붙인 다음 "colorScheme": "Solorized Dark”라고 써준다. 이것은 JSON에서 작동하는 것이다.

terminal splash 사용법 사용법

https://terminalsplash.com/

  1. 원하는 테마 code 복사해서 schemes 안에 붙여넣기
  2. 원하는 프로파일에 가서 원하는 색 scheme을 적으면 된다.

모든 터미널에 color scheme를 고정시키길 원한다면 “default”에 "colorScheme": "Monokai Night”를 붙이면 된다.

“default”에 명시된 것은 모든 profile에 적용된다.

터미널의 색깔 그리고 모든 다른 도구들의 환경설정 옵션이 제한되어 있기 때문에 Powerlevel10K를 설치해 주어야 한다. Powerlevel10K는 zsh를 위한 테마이다.

https://github.com/romkatv/powerlevel10k

  1. Oh My Zsh를 써서 설치해야 한다.
  2. sudo + 명령어 붙여넣기
  3. 비밀번호 입력
  4. zshrc라는 파일을 수정해야 한다. 이 파일은 우분투의 최상위 디렉토리(root)에 있다.
  5. code ~/.zshrc 실행 - oh my zsh를 위한 환경설정 옵션
  6. powerlevel10k/powerlevel10k 테마 이름 입력
  7. 폰트 설치 후 터미널 재실행
  8. settings.json 파일에 default 안에

"colorScheme": "Monokai Night",
"fontFace":"MesloLGS NF"

  1. VS Code - settings -Terminal - Integrated- Font Family - MesloLGS NF 붙여넣기
  2. erminal › Integrated › Default Profile: Windows 여기서 powershell을 Ubuntu-18.04 (WSL)
  3. p10k configure - powerlevel10k 재설정

ls colors 변경

  1. 터미널의 설정파일 수정 - 터미널에 code ~/.zshcr 명령어 입력
  2. LS_COLORS="ow=01;36;40" && export LS_COLORS 붙여넣기

**#3.0 Folders**

WSL과 리눅스 콘솔에 익숙해지는 것을 목표로 한다.

리눅스와 윈도우가 같은 컴퓨터 안에 존재할 때 지켜야 할 수칙

명령어 ls - 디렉토리의 목록을 보여줌(list라는 의미).

tab 키를 누르면 옵션을 선택할 수 있다.

폴더 이름을 쓸 때 앞의 몇 글자만 써넣고 탭을 누르면 자동완성이 된다.

명령어 clear

명령어 cd - 현재 디렉토리에서 빠져나올 때(change directory.디렉토리 변경하기)

명령어 cd .. - 상위폴더

root 디렉토리 - 리눅스의 최상위 지점.

mnt - mount. 리눅스 폴더 중 가장 중요한 폴더

mnt로 들어가서 ls 해보면 윈도우 파일을 건들 수 있다.

리눅스에서는 원한다면 무슨 파일이든지 수정할 수 있다.

명령어 touch 파일이름 - 새로운 파일 생성

명령어 code 파일이름 - VS Code에서 파일 실행

리눅스 콘솔에서 윈도우 하드 드라이브 내에 새로운 파일을 생성시켰다.

WSL로 작업할 때 파일을 윈도우에 두는 방법과 윈도우에 생성하지 않는 방법(리눅스의 home 디렉토리로 가서 거기에 모든 프로젝트와 코드를 둔다.)이 있다.

파일들을 윈도우쪽에 저장해두는 것을 권장한다. WSL에 문제가 생기더라도 파일들을 잃을 위험이 없다.

하지만 우분투의 home 디렉토리에 파일을 두는 것을 선호하는 사람들도 있다.

리눅스 콘솔에서 윈도우에 있는 파일을 건드릴 수 있다. 하지만 윈도우에서 리눅스에 있는 파일을 건드리면 무언가 망가질 수 있다. 즉, 윈도우에서는 그 어떤 리눅스 파일도 건드리지 않는 것이 좋을 것이다.

**#3.1 Installing NodeJS**

리눅스와 우분투에 대해 좋은 것들 중에 하나는 파이썬3이 함께 설치되어 온다는 점이다.

우분투에서 무언가를 설치하는 것은 쉽다. 대부분 웹사이트에서 필요한 명령어들을 제공해주고 있기 때문이다.

우분투에서는 콘솔을 통해서 모든 것을 설치한다.

apt-get - 패키지들의 인스톨러. 시스템에 무언가를 설치할 때 사용

예를들어, sudo(root권한. admin권한) - 이 쉘이 어드민 유저가 아닌 상태에서 실행될 때 이 쉘을 실행하고 있는 것은 우분투를 설치했을 때 만든 andn8740 유저일 때 사용

리눅스 콘솔에는 두 가지 유저가 있다.

하나는 root 유저로 뭐든지 할 수 있다. 어떤 파일이든 지울 수 있다.

하나는 내가 만든 유저. andn8740 - 어떤 일들은 할 수 없다. 많은 것을 할 수 있지만, 모든 일을 할 수 있는 것은 아니다.

명령어 whoami - 유저네임이 무엇인지 알려준다.

만약 어드민이 되어야 할 필요가 있는 경우 sudo라는 명령어를 사용한다.

sudo는 어드민으로 만들어준다.

예시 ) sudo apt-get install openssl

이런 설치과정은 chocolately와 비슷하다.

명령어 sudo apt-get upgrade - 패키지 업그레이드 - y

https://github.com/nodesource/distributions/blob/master/README.md#deb

curl -fsSL https://deb.nodesource.com/setup_12.x | sudo -E bash -

명령어 sudo apt-get install nodejs -

apt-get update는 apt-get이 찾아볼 수 있는 프로그램들의 데이터베이스를 업데이트하는 명령어이다.

apt-get이 node.js를 설치하지 못한 이유는 apt-get에게 알려주지 않았기 때문이다.

만약 yarn을 설치하길 원한다면 sudo apt-get install -y nodejs

입력

node -v로 버전확인

설치가 가능했던 이유는 어디에 node.js가 존재하는지 알아차리도록 만들어준 것이다.

**#3.2 Installing Python**

https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa

deadsnake - 우분투를 위한 파이썬을 제공해줌.

apt가 검색할 수 있는 범위를 확장하는 방법

apt가 패키지들을 검색할 수 있는 새로운 저장소들을 추가할 수 있다.

  1. apt-get에 새로운 PPA를 추가

    apt는 패키지를 다운로드할 수 있도록 해준다. 그리고 패키지의 데이터베이스에서 필요한 것을 찾는다. 때때로 그 데이터베이스에는 우리가 원하는 패키지가 없을 때도 있다. 그래서 우리는 다른 누군가의 데이터베이스를 추가할 필요가 있다.

    우리는 deadsnakes의 개인 패키지 저장소(persnal package archive,즉 PPA)를 추가할 것이다.

  2. sudo add-apt-repository ppa:deadsnakes/ppa 명령어 입력

    apt에게 deadsnakes의 데이터베이스를 통해서도 패키지를 얻기를 원한다고 알려준다.

  3. sudo apt-get update

    이 업데이트를 통해 apt는 여기 다운로드할 수 있는 새로운 패키지가 있네 하고 깨닫게 된다.

  4. sudo apt-get install python3.8 입력

    deadsnakes의 PPA에서 파이썬을 찾는다.

새로운 PPA 또는 새로운 소스를 apt 데이터베이스에 추가 시켜야 할 때

apt가 하나 이상의 데이터베이스에서 패키지들을 찾아볼 수 있게 된다.

python을 입력했을 때 바로 python3.8로 가는 방법

콘솔에서 alias를 사용하는 방법

콘솔을 직접 수정할 때 쓰는 파일 - code ~/.zshrc에

alias python=python3.8 입력 저장

**#3.3 Prettier and More Commands**

우리는 WSL, 즉 우분투에서 코딩을 하고 있기 때문에

  1. Prettier - WSL : 우분투에 설치하기를 눌러 설치해준다.
  2. VS Code를 재실행 해준다.
  3. 설정 - 원격 [WSL - Ubuntu20.04LTS] - Editor : Format On Save(저장 시 자동 정렬 기능) 체크

리눅스에서 사용할 수 없는 것

MongoDB는 윈도우 상에 설치해야 한다.

명령어 mkdir - make directory(디렉토리를 만들어라)

  1. mkdir new_project 입력
  2. ls를 입력하면 새로운 폴더를 확인할 수 있다.
  3. code new_project를 입력해서 VS Code로 실행
  4. 터미널에서 npm init 입력
  5. npm i express —save 입력 - npm으로 expree 설치

명령어 touch - 파일 생성

명령어 mv - 파일 이름 변경

mv 파일이름 변경할파일이름

명령어 rm - 제거

폴더를 지울 때는 rm -rf 폴더이름

**#3.4 Git and Github CLI**

깃 환경설정과 깃헙 CLI 설치

깃헙 CLI는 github.com에 가지 않고도 깃헙과 소통할 수 있도록 해준다.

콘솔 상에서 repository도 만드는 등을 할 수 있다.

깃허브 CLI는 공식적인 커맨드라인 툴이다.

커맨드라인에서 깃헙의 현재 상태를 눈으로 볼 수 있다.

이슈 리스트를 볼 수 있고 커밋할 수 있고 repository도 만들 수 있다.

https://github.com/cli/cli/blob/trunk/docs/install_linux.md#debian-ubuntu-linux-raspberry-pi-os-apt

  1. Debian, Ubuntu Linux, Raspberry Pi OS (apt)에 있는 명령어 입력
  2. git config --global user.name "youjungson" 입력
  3. git config --global user.email "andn1026@gmail.com" 입력
  4. gh repo view 입력

**#3.5 nvm**

서로 다른 node.js 버전을 관리할 수 있는 방법(nvm 설치)

nvm은 다수의 node.js 버전을 관리하는 bash 스크립트이다.

https://github.com/nvm-sh/nvm#installing-and-updating

  1. curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash 명령어 실행
  2. 터미널 재실행

zsh는 nvm을 설치했는지 모르기 때문에

export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"

를 복사해서 .zshrc 파일에 추가해준다.

  1. code ~/.zshrc 실행
  2. 터미널 재실행

어떤 명령어를 추가하고 싶을 때는 zshrc에 추가하면 된다. 이 파일을 통해서 콘솔에서 쓰이는 모든 명령어를 정의할 수 있다.

nvm 사용법 - 여러 버전 관리

  1. nvm ls-remote - 사용할 수 있는 버전 확인

    LTS(long-term-support) - 장기적 지원. LTS는 적어도 4년간 지원해주기 때문에 LTS를 사용하는 것이 좋다.

    nvm install —lts 사용하려는버전의이름

  2. nvm install v16.14.2(사용하려는 버전) - 리눅스 버전으로 설치됨

  3. nvm use v12.18.2 - 이전 버전 사용

버전이 설치되어 있지 않다고 하는 경우 nvm이 이전에 썼던 node.js 버전을 인식하지 못하는 것이다.

  1. nvm ls-remote --lts

nvm을 써서 v12.8 설치하기 위해 nvm ls-remote --lts로 LTS 버전만 보이도록 한다. (마이너 버전 없이 long-term support만)

  1. nvm install --lts=gallium 가장 최신 버전 다운로드
  2. nvm ls - nvm 버전리스트 확인
  3. nvm use v10.21.0 - 버전 변경
profile
멋쟁이 개발자가 될거야!!

0개의 댓글