2021년 03월 08일
ERROR: Error installing jekyll-sitemap:
ERROR: Failed to build gem native extension.
gem으로 jekyll 모듈을 설치하는 과정에서 다음과 같은 오류가 나타났다.
검색해보니 xcode 관련 자료만 나오다가 해당 모듈이 사용 중인 jekyll 버전을 미지원하는 내용이 나왔다.
gem list --remote --all jekyll-sitemap
*** REMOTE GEMS ***
jekyll-sitemap ( [versions] )
sudo gem install jekyll-sitemap -v [version]
Successfully installed jekyll-sitemap-[version]
사용하려는 jekyll-sitemap은 현재 jekyll 버전에서 v1.2.0까지만 지원한다고 한다.
지원 여부를 깃헙에서 확인해 봤으면 됐을 텐데, 오류만 검색하다가 시간을 많이 소모했다.
이렇게 모듈을 설치하고 빌드하니 gem install을 실행하라고 한다.
Gemfile.lock 파일을 삭제하지 않아 의존성 체크가 되었는데, 신기하게 gem install 하니 직접 설치할 때 오류 나던 jekyll-sitemap 1.4.0이 설치되었다.
lock 파일의 의존성은 알겠으나 yarn.lock 하고 좀 다르게 동작하는 느낌이다.
아직 gem에 대한 이해가 부족해서 나온 이슈인데, 공부가 필요할 듯하다.
understanding-the-gemfile-lock-file
https://stackoverflow.com/questions/4907668/removing-all-installed-gems-and-starting-over/49960935
2021년 03월 09일
Grafana Plugin을 React로 개발하여 배포하는 방법을 설명한다. #### 작업환경 ```json OS: Mac node: >= 14.0 grafana: >= 7.0 ``` ## 시작하기 ### Grafana 설치하기 [Grafana 설치 가이드 문서](https://grafana.com/docs/grafana/latest/installation/requirements/) Ubuntu, Docker 등 OS 별 설치방법 문서가 존재한다. ```bash brew update brew install grafana ``` ### Grafana 프로젝트 생성 프로젝트 구조는 `grafana-toolkit`를 사용한다. grafana-toolkit은 creact-react-app 처럼 초기 프로젝트를 구축하기 위한 `CLI`이다. 맨 설치하는 과정에서 plugin, author 등은 원하는 형태에 맞춰서 작성하면 되며, 플러그인 이름은 신중하게 입력해보자. ```bash npm install -g @grafana/toolkit npx @grafana/toolkit plugin:create [project-name] cd graph-plugin npm install ``` `( 프로젝트를 grafana에 연동하는 부분은 아래에서 진행한다. )` ### 실행하기 설치한 grafana 서비스를 실행한다. ```bash brew services start grafana ``` 기본적으로 `localhost:3000`로 포트가 열린다. 초기 계정은 `admin/admin` 이다. ## 개발셋팅 프로젝트를 생성했고 grafana service 가 동작한다면, 프로젝트를 플러그인에 연동해야한다. ### grafana ini 설정 grafana 설정파일에서 plugin path를 연결한다. ```bash vim /usr/local/etc/grafana/grafana.ini [paths] plugins = [Grafana Project Path] ``` 이때, `[paths] 아래에 추가`해야한다....
2021년 03월 09일
axios은 기본적으로 api timeout이 설정되어 있지 않다. 따라서 API를 호출하면 서버에서 응답 주기 전까지는 계속 연결되어 았다. ## axios timeout 설정하기 axios를 생성하여 timeout을 옵션으로 추가하고 해당 인스턴스로 api를 호출하도록 작업을 진행한다. ```js const instance = axios.create({ timeout: 30000, }); export const baseApi = (method, url, params) => { return instance .request({ method, url, data: params, }) .then(axiosResponseToData) .catch(axiosErrorResToData); }; ``` 기존에 ts로 작성되어 있던 부분들인데, 불필요해 보여 제거 후 함수만 등록하였다.
2021년 02월 04일
공식문서 AOS/iOS 에뮬레이터 설치 https://reactnative.dev/docs/environment-setup error Failed to install the app error Failed to install the app. Make sure you have an Android emulator running or a > device connected. Run CLI with –verbose flag for more details. bash chmod 755 android/gradlew 실행 emulator -list-avds 리스트 뜨는지 확인 ~/.bash_profile 또는 ~/.zshrc 에 path 정상 등록되어있는지 확인 Task :app:stripDebugDebugSymbols UP-TO-DATE Compatible side by side NDK version was not found. Task :app:installDebug FAILED Android Studio -> Configure -> SDK Manager -> SDK Tools -> NDK 설치 Failed to run jetifier yarn yarn add -D jetifier npx jetify npx react-native run-android or react-native run-android --no-jetifier