a screen capture of Medis app

Image from getmedis.com

TL;DR for macOS

많이 바쁘시죠?

git clone https://github.com/luin/medis.git
cd medis
npm i
npm run pack
# webpack analyzer가 뜨고 난 후 프로세스를 종료하세요 (^C)

node bin/pack.js
# No identity found for signing 에러는 무시하세요
cd dist/out/Medis-mas-x64/
open .
# Finder가 열리고 Medis.app이 보일 겝니다.

Medis를 소개합니다

간단하게 값 조회하고 편집하려고 Redis cli 클라이언트와 Redis command cheat sheet를 함께 띄워두고 떠듬떠듬 작업하다보니 더는 안 되겠어서 괜찮은 오픈소스 GUI 툴을 찾아보았습니다. Medis를 발견하고 사용해 봤는데 역시 그래픽이란 혁명적이에요.

Medis는 Node.js, React, Electron으로 만들어진 오픈소스 Redis 클라이언트 어플리케이션입니다. 키와 config의 조회 및 수정, SSH 터널링, 커맨드 입력을 위한 터미널 등 기본적인 기능과 많은 고급 기능들을 지원합니다.

Windows용 클라이언트의 경우, exe 파일이 배포되고 있습니다. 👉 Medis for Windows

그러나 macOS용 클라이언트는 직접 빌드해서 사용해야 합니다. Mac App Store에서 $4.99에 유료 버전이 판매되고 있지만 직접 빌드한 것과 기능상의 차이는 없습니다. 개발자를 후원하고 싶으신 분은 스토어에서 구매해서 편하게 설치할 수 있습니다.

저는 지난 포스트인 Platypus로 CLI 앱을 Mac 네이티브 앱으로 번들링하기 에서 소개한 방법으로 직접 빌드해서 사용했었는데, 다시 해보니 electron-packager를 사용한 더 간단한 방법이 있어서 그 가이드를 포스트로 남겨봅니다.

macOS에서 Medis 빌드해서 설치하기

최신 소스코드 얻기

GitHub의 luin/medis 레포지토리 master 브랜치의 README.md에서는 릴리즈 페이지에 있는 소스코드로 빌드하라고 되어있습니다. 하지만 이대로 따르면 node-gyp 관련 에러로 실패합니다. 이 문제는 굉장히 다양한 원인으로 발생하며 해결하기 번거롭습니다. 마지막 공식 릴리즈는 v0.6.1인데 master 형상에 비해 굉장히 outdated 상태입니다. 이것은 사용하지 맙시다.

Git Tag의 메이저 버전은 2019년에 이미 1로 bump 되었습니다. 그러니 Tags에서 소스코드를 받거나 그냥 master를 그대로 clone 합시다.

동작하는 최신 설치 가이드

오픈 상태로 계류중인 luin/medis#172 이슈에서 1.x 버전 코드를 패키징하는 가이드를 제시하고 있습니다.

  1. $ npm install
  2. $ npm run pack
    진행 중에 webpack analyzer가 브라우저 탭으로 뜨면 프로세스를 종료하세요. (Ctrl+C)
  3. $ node bin/pack.js
    Unhandled rejection Error: No identity found for signing.“과 같은 에러는 무시하셔도 됩니다. 배포하지 않고 혼자 사용할 것이기 때문에 Signing은 필요 없습니다.
  4. dist/out/Medis-mas-x64/Medis.app이 만들어집니다. 곧바로 실행 가능합니다.

Note

이 가이드는 2020년 5월 3일 기준으로 작성되었으며 언제든지 동작하지 않을 수 있습니다. 만약 가이드가 더 이상 유효하지 않다면 댓글로 언질해주시면 감사하겠습니다.