728x90
반응형

https://modipi.tistory.com/7

 

.gitignore 에 추가하지 않고 로컬에서만 ignore 시키는 방법

특정 에디터를 사용하거나 나만 사용하는 테스트코드가 있을 때 서버에는 적용하지 않고 로컬에서만 파일을 ignore 시키고 싶은 경우가 있다. ​ .gitignore 는 나중에 git 에 추가할 때 unstaged 파일로

modipi.tistory.com

 

728x90
반응형
728x90
반응형

개발자로 일을 하다보면 거의 대부분의 경우에 MariaDB, PostgreSQL 같은 RDB 를 사용하게 됩니다.

그러나 일을 하다보면 빅데이터 분야와 관련된 일을 할 때 가끔씩 접하게 되는것이 NoSQL 입니다.

엑셀처럼 직관적으로 눈에 보이고 머리속에 그려지는 RDB 와 달리 NoSQL 은 개념을 들어도 머릿속에 어떻게 사용하는지 개념이 한번에 떠오르지 않는데요

그래서 스스로도 공부를 해 보고자 NoSQL 에 대해서 이번 포스팅을 작성하게 되었습니다.

 

NoSQL의 정의

NoSQL은 전통적인 **관계형 데이터베이스 관리 시스템(RDBMS)** 과는 다른 방식으로 데이터를 저장하고 관리하는 비관계형(non-relational) 데이터베이스를 의미합니다. NoSQL은 "Not Only SQL"의 약자로, 단순히 SQL을 사용하지 않는다는 의미뿐만 아니라, 관계형 데이터베이스 이외의 다양한 데이터 모델을 지원한다는 뜻을 내포하고 있습니다.

NoSQL의 특징

  1. 스키마 유연성:
    • RDBMS와 달리, NoSQL은 정해진 스키마가 없기 때문에 데이터 구조가 변화할 때도 유연하게 처리할 수 있습니다. 데이터를 저장할 때 고정된 테이블 스키마에 맞출 필요 없이 자유롭게 데이터를 추가할 수 있습니다.
  2. 수평적 확장성:
    • NoSQL은 대용량 데이터를 처리할 때 서버를 여러 대 추가하는 **수평적 확장(horizontal scaling)**이 용이합니다. 즉, 하나의 서버에 의존하지 않고 여러 서버에 데이터를 분산 저장하여 성능을 유지합니다.
  3. 비정형 데이터 처리:
    • NoSQL은 비정형 데이터(문서, 이미지, 로그 등)나 반정형 데이터를 다루는 데 매우 적합합니다. JSON, XML, BSON과 같은 다양한 형태로 데이터를 저장할 수 있습니다.
  4. 고성능 및 대용량 처리:
    • 데이터 조회 속도가 빠르고, 대규모 데이터를 처리하는 데 최적화되어 있습니다. 특히 읽기와 쓰기 작업이 빈번한 애플리케이션에 적합합니다.

NoSQL 데이터베이스의 종류 및 구조

  1. 키-값 저장소(Key-Value Stores): 데이터가 키-값 쌍으로 저장됩니다.
    • 예시: Redis, DynamoDB
    • 사용 예시: 세션 관리, 캐싱 시스템

  1. 문서형(Document Stores): 데이터를 JSON, BSON 등의 문서 형식으로 저장합니다.
    • 예시: MongoDB, CouchDB
    • 사용 예시: 블로그 게시물, 사용자 프로필 저장

  1. 열 기반(Column-Family Stores): 데이터를 열 단위로 저장하여 빠른 조회가 가능합니다.
    • 예시: Cassandra, HBase
    • 사용 예시: 로그 데이터 저장, IoT 데이터 분석

  1. 그래프 데이터베이스(Graph Databases): 노드와 엣지로 데이터를 저장하여 관계 중심의 데이터를 처리합니다.
    • 예시: Neo4j
    • 사용 예시: 소셜 네트워크 분석, 추천 시스템

 

 

다음은 이런 NoSQL 들이 실제 개발환경에서 어떻게 쓰이는지 예시를 보도록 하겠습니다.

 

NoSQL이 쓰이는 대표적인 사례

  • 소셜 미디어: 사용자의 프로필 정보, 게시물, 친구 관계 등을 저장하고 처리하는 데 MongoDB와 같은 문서형 데이터베이스가 자주 사용됩니다.
  • IoT(사물인터넷): Cassandra 같은 열 기반 데이터베이스는 실시간으로 수집되는 센서 데이터나 로그 데이터를 저장하고 분석하는 데 활용됩니다.
  • 캐싱 및 세션 관리: Redis와 같은 키-값 저장소는 빠른 조회가 필요한 세션 관리나 데이터 캐싱에 적합합니다.
  • 추천 시스템: Neo4j는 그래프 구조를 활용해 사용자 간의 관계를 기반으로 추천 알고리즘을 구현하는 데 사용됩니다.

 

1. MongoDB (문서 기반 데이터베이스)

예시: 소셜 미디어 애플리케이션

  • 저장 방식: MongoDB는 JSON(BSON) 형태로 데이터를 저장합니다. 예를 들어, 사용자의 프로필 정보를 문서 형태로 저장할 수 있습니다.
  • 데이터 구조:

활용 방식: 소셜 미디어는 사용자의 프로필, 게시물, 댓글, 좋아요 등을 저장해야 하는데, MongoDB의 비정형 구조는 이러한 데이터를 유연하게 저장하고 조회할 수 있습니다. 특히, 사용자의 프로필이 매우 다양하고 자주 업데이트되는 경우, MongoDB는 스키마를 변경하지 않고도 이를 반영할 수 있어 개발에 유리합니다.

 

2. Redis (키-값 저장소)

예시: 세션 관리 및 캐싱 시스템

  • 저장 방식: Redis는 메모리 내에서 데이터를 빠르게 저장하고 조회하는데 최적화된 키-값 저장소입니다.
  • 데이터 구조: 세션 데이터를 Redis에 저장하여 빠른 사용자 인증을 구현할 수 있습니다.
    • 예를 들어, 사용자 로그인 정보를 저장할 때:

활용 방식: 사용자가 웹사이트에 로그인하면, 세션 정보가 Redis에 저장되고, 이를 통해 웹 애플리케이션이 빠르게 인증 정보를 확인하고 세션을 유지할 수 있습니다. Redis는 특히 짧은 시간 동안만 필요한 데이터를 관리할 때 유용합니다. 또한, Redis는 웹 페이지 캐싱이나 자주 조회되는 데이터를 메모리에 저장해 성능을 높이는 데도 사용됩니다.

 

3. Cassandra (열 기반 데이터베이스)

예시: IoT(사물인터넷) 데이터 처리

  • 저장 방식: Cassandra는 대규모 분산 시스템에서 사용되는 열 기반 데이터베이스로, 트래픽이 매우 높은 환경에서도 빠르고 안정적으로 데이터를 처리합니다.
  • 데이터 구조:

활용 방식: IoT 장치가 실시간으로 온도, 습도, 위치 등의 데이터를 Cassandra에 저장합니다. Cassandra는 대규모 데이터 분산 처리가 가능하므로, 수백만 대의 IoT 장치에서 수집되는 방대한 양의 데이터를 손쉽게 저장하고 분석할 수 있습니다. 예를 들어, 스마트 홈 시스템에서 여러 센서들이 실시간 데이터를 지속적으로 Cassandra에 저장하고, 이를 분석해 자동화된 홈 환경을 구축할 수 있습니다.

 

4. Neo4j (그래프 기반 데이터베이스)

예시: 추천 시스템 및 소셜 네트워크 분석

  • 저장 방식: Neo4j는 노드와 엣지(관계)로 데이터를 저장합니다. 사용자는 노드로 저장되고, 이들 간의 관계(친구 관계, 팔로우 등)가 엣지로 표현됩니다.
  • 데이터 구조:
    • 예를 들어, 친구 관계를 저장하는 방식:

활용 방식: 소셜 네트워크에서 사용자 간의 친구 관계, 팔로우 관계, 좋아요 등의 데이터를 기반으로 추천 시스템을 구축할 수 있습니다. 예를 들어, Alice가 Bob과 친구라면, Neo4j의 그래프 데이터베이스를 통해 Bob이 친구인 다른 사람들도 Alice에게 추천할 수 있습니다. 그래프 구조는 관계형 데이터베이스로 구현하기 어려운 복잡한 관계 데이터를 쉽게 처리할 수 있습니다.

 

요약

  • MongoDB: 문서 기반으로 유연한 데이터를 저장하고, 소셜 미디어, 전자상거래 등의 다양한 정보를 효율적으로 관리합니다.
  • Redis: 빠른 데이터 접근을 위한 캐싱 시스템, 세션 관리 등에서 주로 사용됩니다.
  • Cassandra: IoT, 빅데이터 분석 등 대규모 실시간 데이터 처리에 사용됩니다.
  • Neo4j: 복잡한 관계를 처리해야 하는 소셜 네트워크나 추천 시스템에서 사용됩니다.

NoSQL 데이터베이스는 데이터의 구조적 유연성, 대규모 확장성, 빠른 성능 등을 제공해 다양한 용도에 맞게 활용됩니다.

 

 

728x90
반응형
728x90
반응형

수십년간 윈도우 PC 만 사용하다가 맥OS를 처음 사용하게 되면
키보드부터 마우스, 트랙패드, 기본제공 기능들까지 너무 다른게 많습니다.
그래서 편하게 맥북을 사용하려면 초기세팅이 좀 필요한데요
제가 맥북을 1년정도 쓰고 새 맥미니를 들이게 되면서
앞으로 새 맥OS 를 쓸 때마다 혹은 초기화 후 다시 처음부터 세팅해야할 때
저에게 필요했던 앱들을 한번 정리해보려 합니다.
 
★★★ 필필수 설치 앱
1. karabiner
맥북을 처음 쓰면 제일 당황스러운 것 중 하나가 바로 한영 전환일 겁니다.
윈도우에서 스페이스바 바로 우측의 Alt(맥의 right_command) 키로 한영전환하는 삶을 수십년을 살다가
맥OS의 Caps Lock 키 혹은 Control + 스페이스바 로 한영전환을 하게되면 여간 불편한게 아닙니다.
그래서 우측 Alt(right_command) 키로 한영전환을 매핑해주는 앱이 바로 karabiner 입니다.
설치방법은 홈페이지에 들어가서
https://karabiner-elements.pqrs.org

Karabiner-Elements

Karabiner-Elements A powerful and stable keyboard customizer for macOS. Download v15.2.0 Toggle Dropdown Download v15.2.0 For macOS 15 Sequoia For macOS 14 Sonoma For macOS 13 Ventura Download v14.13.0 For macOS 12 Monterey For macOS 11 Big Sur Download v1

karabiner-elements.pqrs.org

 

Download 버튼을 눌러줍니다.
 
그리고 다운받아진 dmg 파일을 실행하여 pkg 파일을 실행합니다.

설치파일은 휴지통으로 이동해버리셔도 됩니다.
 
그리고 launchpad 에 가 보면

이렇게 Karabiner-EventViewer 와 Karabiner-Elements 
두개의 앱이 설치 되는데 이 중 Karabiner-Elements 를 실행시켜주면

이렇게 권한을 요구하게 되는데 입력 모니터링과 로그인 항목 백그라운드 권한, 드라이버 확장 프로그램 권한 승인을 해준 후 로그인시 열기에도 추가해주면 됩니다.

이렇게 설치와 권한설정이 다 완료 되었으면

이런 화면이 보이게 되는데 내가 현재 연결중인 키보드에만 적용할 수도 있고, 앞으로 연결될 다른 기기들에 모두 적용이 되도록 선택할 수도 있습니다.
 
스페이스바 우측 Alt 키에 한영 전환을 설정하는 방법은
우선 Simple Modifications 에서 나는 모든 키보드에 동일 적용할 것이기 때문에 For all devices 를 선택해주고

매핑할 키인 right_command 를 앞쪽에 선택해주고
오른쪽에는 가상의 function 키인 f18을 매핑해줍니다.

그러면 이렇게 설정이되는데

이제 좌측 상단의 사과모양 아이콘을 클릭하여 시스템 설정을 열어주고

 
키보드 -> 키보드 단축키를 누르면 아래 화면이 나오는데

그리고 입력메뉴에서에서 다음 소스 선택에 할당된 단축키를 더블클릭 하고 스페이스바 오른쪽의 Alt 키를 눌러주면 f18 로 인식이 되게 됩니다.

그리고 완료를 누르면 이제 한영 전환을 alt 키로 할 수 있게 됩니다!
 
2. Rectangle
윈도우를 쓸 때에는 실행중인 창을 좌,우 로 모니터의 반만 사용하고 싶을 때,
그러니까 예를들어 모니터의 반을 나누어서 왼쪽에는 인터넷 창을 열어놓고 오른쪽에는 엑셀을 띄워놓고 싶을 때
윈도우키를 누른 채 왼쪽 오른쪽 화살표를 눌러주면 좌우로 반만 사용하게 되는 기능이 윈도우 자체 기능으로 내장이 되어 있습니다.
맥에서는 창의 왼쪽 위의 초록색 화살표에 커서를 올려놓고 있으면 좌우 분할 버튼이 나오거나

창을 드래그 하여 왼쪽이나 오른쪽에 가져가면 화면 분할을 해주는 split view 기능을 지원하고 있지만
윈도우에서 사용하던 키보드 기능을 이용하고 싶을 때가 있는데
이때 설치하면 좋은 앱이 바로 Rectangle 입니다.
https://rectangleapp.com

Rectangle

Move and resize windows in macOS using keyboard shortcuts or snap areas. The official page for Rectangle.

rectangleapp.com

설치 방법은 위의 사이트에 들어가서 다운로드 버튼을 눌러 설치 파일을 다운로드 받은 뒤

 
dmg 파일을 설치해주고 실행시켜주면

이렇게 권한을 요구하게 되는데

 
이 권한을 설정하려고 하면

 
이렇게 기존 맥북의 권한과 충돌을 하기 때문에 맥북의 기본 기능을 비활성화 시킬 것인지 묻는데
저는 키보드로 분할 기능을 쓸 일이 더 많을 것 같아서 맥북의 기본기능을 비활성화 시키고 Rectangle 의 기능을 살려줬습니다.

비활성화 된 설정은 이 곳에서 언제든지 되살릴 수 있습니다.
그리고 기본 기능의 사용법은

이렇게 친절하게 설명을 해주는데
저 단축키들을 이용하여 split view 기능을 편리하게 이용할 수 있습니다.
 
 
3. Sublime Text
윈도우에선 최근에 기본 메모장(notepad) 도 많이 좋아져서 종료해도 기존에 작성하던 메모가 날아가지 않는 기능이 있는데요
그 기능이 업데이트 되기 전 notepad++ 라는 프로그램은 윈도우 필수 프로그램 중 하나였습니다.
그러나 맥북에서는 notepad++ 만큼 편한 메모앱을 찾지 못했었는데요,
그나마 대체할 수 있는 프로그램이 sublime text 입니다.
https://www.sublimetext.com

Sublime Text - the sophisticated text editor for code, markup and prose

Available on Mac, Windows and Linux

www.sublimetext.com

 
여기서 Download for Mac 버튼을 누르시면 별도의 설치과정 없이 바로 실행할 수 있는 실행파일이 다운로드 되는데요
맥중에선 그나마 제일 좋은 text editor 가 아닐까 생각됩니다.
(가끔 donation을 하라는 팝업이 뜨지만 살며시 취소 버튼을 누르시고 사용하시면 됩니다.)
 
4. Bartender5(유료)
MacOS 는 앱을 실행시키면 상단 바에 실행중인 모든 앱들이 표시되게 됩니다.
그리고 실행중인 앱이 많아질수록 아이콘은 점점 늘어나게 되는데요
이 때 상단바를 보기좋게 정리할 수 있도록 도와주는 앱이 Bartender 5 입니다.
그리고 사실 이 프로그램은 무료 대체 앱들이 있음에도 값을 지불하고 사용하는 아주 드문 유료 앱 중에 하나 인데요,
만약 값을 지불하기 아까우시다면 상단바를 정리해주는 다른 무료 앱(Hidden Bar 가 무료중엔 제일 유명할 것 같군요..)
를 사용하시면 되지만 저는 Bartender 를 아주 유용하게 사용하고 있습니다.
 
5. Iterm2
리눅스 기반의 OS 에서 터미널은 거의 필수인데요
맥북의 기본 터미널 앱이 있지만
뭔가 이쁘게 사용하고싶다! 하시는 분들은 Iterm2 를 사용하시면 됩니다.
https://iterm2.com

iTerm2 - macOS Terminal Replacement

iTerm2 by George Nachman. Website by Matthew Freeman, George Nachman, and James A. Rosen. Website updated and optimized by HexBrain

iterm2.com

여기서 다운로드 버튼을 누르시면 별도의 설치파일 없이 실행파일이 받아지게 되는데요
Application 으로 옮길거냐는 팝업에 확인을 누르시면 어떤 권한을 요구하게 되는데 권한을 허용하시고 사용하시면 됩니다.
사실 큰 기능이 있는건 아니지만 일단 Oh My Zsh 를 통한 여러가지 테마와 몇가지 추가설정을 통해 터미널을 더욱 재밌게 사용하실 수 있습니다.
 
 
6. homebrew
개발자라면 쓰지 않을 수 없는 패키지 관리 앱 입니다.
자바나 파이썬 같은 패키지들을 설치할 때
여러가지 복잡한 설정을 해줘야하는 윈도우와 달리
homebrew 를 이용하시면 쉘스크립트 한줄로 패키지를 설치할 수 있습니다.
설치방법은 homebrew 홈페이지에 들어가시면
https://brew.sh

Homebrew

The Missing Package Manager for macOS (or Linux).

brew.sh

가운데에 Install Homebrew 에 쉘스크립트가 있는데

이걸 복사하셔서 터미널을 여시고 붙여넣은 뒤 실행만 해주면 끝입니다.
그러면 이렇게

homebrew 가 설치가 되는데 여기서 끝이 아니라
아래쪽에 보시면 나오는 Next step :
에 있는 스크립트까지 실행시켜주어야 설치가 완전히 완료되게 됩니다.

 
7. scroll reverser
맥북은 터치패드나 매직마우스가 순정이기 때문에 일반적인 마우스와 스크롤이 반대로 되어 있습니다.
물론 시스템 설정에서 스크롤 방향을 바꿔줄 수 있지만

뭔가 스크롤에 가속도? 가 붙는 느낌이라 한번 마우스 스크롤 시 정해진 위치만큼 내려가는 윈도우를 사용하다가 맥의 스크롤을 사용하면 뭔가 어색한데요
그래서 사용하게 된 앱이 scroll reverser 입니다.
https://pilotmoon.com/scrollreverser/

Scroll Reverser

Per-device scrolling preferences for MacOS.

pilotmoon.com

설치는 위의 사이트에서 Download Scroll Reverser 를 누르시기만 하면 되는데요

다운받은 후 실행시키시고 상단바를 보시면 scroll reverser 아이콘이 나타나는데요

아직 권한이 없기 때문에 활성화를 눌러서 권한을 주면 그때부터 제대로 동작하게 됩니다.

 
활성화를 시키신 뒤 마우스 스크롤을 해 보시면 윈도우에서 스크롤하는것처럼 정해진 만큼 스크롤 되는 편함을 다시 되찾으시게 될 겁니다.

 
스크롤 휠 을 조절해서 감도를 조절할 수도 있습니다.
 
여기까지 제가 MacOS 초기 설정 시 필수로 설치하는 앱들에 대해서 소개해 봤는데요
다음 포스팅에서는 필수는 아니지만 그래도 종종 사용할 때가 있어서 설치해두면 좋은 앱들에 대해 소개해드리겠습니다.
 
지금까지 긴 글 읽어주셔서 감사합니다.

728x90
반응형
728x90
반응형

가끔 git 에서 pull 을 할 때

특정 파일이 충돌이 나서 pull, push 가 모두 안되고 꼬여버리는 상황이 발생합니다.

 

그럴 때 특정 파일만 원격 저장소의 최신 상태로 설정하는 방법입니다.

1
2
3
4
5
6
7
8
9
10
11
# 1. 충돌 파일을 원격 저장소의 최신 상태로 재설정
git checkout --theirs <file>
 
# 2. 변경 사항 스테이징
git add <file>
 
# 3. 충돌 해결 커밋
git commit -"Resolve merge conflict by taking remote changes"
 
# 4. 다시 pull 시도
git pull
cs

 

이렇게 하시면 특정 파일을 원격저장소의 최신상태로 설정하여

git 충돌을 없애고 다시 정상적으로 git 을 사용하실 수 있게 됩니다.

728x90
반응형
728x90
반응형

여러 사람이 협업하는 git 에서

수시로 push 가 이루어지다 보니

가끔 pull 을 한 후 commit&push 를 해야하는데

잊어버리고 그냥 commit&push 를 했다가

commit 은 된 상태에서 push 가 안되는 오류가 발생하곤 합니다.

 

그럴 때 commit 을 되돌리는 방법입니다.

 

728x90
반응형
728x90
반응형

어느날 잘 되던 git pull 명령어가 갑자기 오류가 나기 시작했습니다.

 

인터넷에 검색을 해 보면 ssh 인증키 등록을 해야한다는 글이 많아서

 

https://stackoverflow.com/questions/2643502/git-how-to-solve-permission-denied-publickey-error-when-using-git 

 

Git: How to solve Permission denied (publickey) error when using Git?

I'm on Mac Snow Leopard and I just installed git. I just tried git clone git@thechaw.com:cakebook.git but that gives me this error: Initialized empty Git repository in `/Users/username/Documents/

stackoverflow.com

 

이런 글들을 통해서 ssh key 등록을 하고 

아래사진처럼 set-url 설정까지 마치니까

 

 

위의 사진처럼 pull 은 되는데 push 는 되지 않는 어처구니 없는 상황이 발생합니다.

 

한참을 인터넷을 뒤진 끝에

 

 

위처럼

git remote -v 

명령어를 쳐보니까

fetch url 과 push url 이 다르게 설정되있는 것을 확인했습니다. 

git remote set-url 명령어 만으로는 push url 까지는 바뀌지 않나봅니다.

 

 

그래서 위의 사진처럼 git remote set-url --push origin git@github주소.git

 

이렇게 등록을 해 주면

git pull 과 push 가 모두 잘 동작하게 됩니다.

728x90
반응형
728x90
반응형

터미널을 열고

 

tccutil reset Accessibility com.surteesstudios.Bartender; tccutil reset ScreenCapture com.surteesstudios.Bartender; tccutil reset Accessibility com.surteesstudios.Bartender-setapp; tccutil reset ScreenCapture com.surteesstudios.Bartender-setapp

 

이 코드를 붙여 넣으시면 됩니다.

 

출처:

https://www.reddit.com/r/MacOS/comments/yeq8t9/i_cant_start_bartender_app_the_permissions_are/

 

From the MacOS community on Reddit: I can't start Bartender app (The permissions are set yet it doesn't start)

Explore this post and more from the MacOS community

www.reddit.com

 

https://www.macbartender.com/b4blog/macOS-Ventura-Permissions/

 

Bartender 4 - Bartender and macOS Ventura and 12.6.1 Accessibility and Screen Recording Permissions bug

You will find Bartender 4.dmg in your downloads folder. Please open this then move Bartender to your Applications folder and launch it from there. This download is both the trial and the full version (with license). You can use the trial for 4 weeks, afte

www.macbartender.com

 

728x90
반응형
728x90
반응형

m1 맥북에서 nvm 을 사용하여 node 버전을 변경하며 관리하는 방법입니다.

 

우선 brew 를 통해 nvm 을 설치해 줍니다.

 

$ brew install nvm

설치후 

 

$ nvm -v

 

명령어를 실행해 보면

이런 에러메시지가 나는데요

 

다시 설치 과정중에 나타나는 텍스트들을 보다보면 중간에 이런 부분이 있으실 겁니다.

 

위 사진의 중간쪽부터 보시면 

Please note that upstream has asked us to make explicit managing
nvm via Homebrew is unsupported by them and you should check any
problems against the standard nvm install method prior to reporting.

You should create NVM's working directory if it doesn't exist:
  mkdir ~/.nvm

Add the following to your shell profile e.g. ~/.profile or ~/.zshrc:
  export NVM_DIR="$HOME/.nvm"
  [ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh"  # This loads nvm
  [ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm"  # This loads nvm bash_completion

You can set $NVM_DIR to any location, but leaving it unchanged from
/opt/homebrew/Cellar/nvm/0.39.5 will destroy any nvm-installed Node installations
upon upgrade/reinstall.

 

이런 문구가 있습니다.

 

대충 번역기의 도움을 빌려 해석해보면

 

 

업스트림에서는 명시적인 관리를 요청했습니다.
Homebrew를 통한 nvm은 지원되지 않으므로 확인해야 합니다.
보고하기 전에 표준 nvm 설치 방법에 대한 문제.

NVM의 작업 디렉터리가 없으면 만들어야 합니다.
   mkdir ~/.nvm

쉘 프로필에 다음을 추가하세요. ~/.profile 또는 ~/.zshrc:
   NVM_DIR="$HOME/.nvm" 내보내기
   [ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh" # 그러면 nvm이 로드됩니다.
   [ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" # 그러면 nvm이 로드됩니다. bash_completion

$NVM_DIR을 어떤 위치로든 설정할 수 있지만 변경하지 않고 그대로 둡니다.
/opt/homebrew/Cellar/nvm/0.39.5는 nvm이 설치된 모든 노드 설치를 제거합니다.
업그레이드/재설치 시.

정도가 되겠네요.

 

저의 경우 nvm 작업 디렉터리는 따로 생성해 주지 않아도 잘 동작 하였으나. 쉘 프로필에 다음을 추가하세요 부분은 추가를 하여야 nvm 이 정상 동작했습니다.

 

$ vi ~/.bash_profile

$ vi ~/.zprofile 

$ vi ~/.zshrc

위의 세개 중 하나를 실행시켜 맨 아래쪽에

  export NVM_DIR="$HOME/.nvm"
  [ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh"  # This loads nvm
  [ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm"  # This loads nvm bash_completion

위의 문장을 추가하신 후

위의 추가한 파일을

$ source ~/.bash_profile

$ source ~/.zprofile 

$ source ~/.zshrc

를 통해 실행시켜주시면 설치가 완료됩니다.

 

저같은 경우 처음에 ~/.bash_profile 에 입력하여 설치했으나 

vscode 에서는 zsh 를 사용하여 nvm 이 동작하지 않는 문제가 발생한 것을 확인하고

~/.zprofile 에도 추가로 입력해주었습니다.

 

위의 nvm -v 를 다시 입력해보면

이렇게 설치된 nvm 의 버전이 나오면 설치가 잘 된 겁니다.

 

$ nvm ls

명령어를 입력해보시면

이런 초기 상태가 나오실 텐데

 

저는 제가 필요한 버전과 최신 버전을 설치하기 위해

$ nvm install 16.14.0

$ nvm install --lts

이렇게 설치 해준 후 다시 nvm ls 를 입력해보니

이런식으로 현재 설치된 버전과 사용중인 버전들이 나오는 걸 확인할 수 있었습니다.

위의 사진에서 보이는대로 현재 사용중인 버전은 -> 화살표가 가르키는 v18.18.0 버전인데

설치된 16.14.0 버전으로 바꾸고 싶다면

$ nvm use v16.14.0

이런식으로 입력해주시고 다시 nvm ls 를 해보시면

이렇게 사용중인 버전을 바꿔가면서 사용하실 수 있습니다.

728x90
반응형

+ Recent posts