firebase CLI를 잘 사용하다가 icu4c관련 에러가

firebase CLI가 node를 사용하는데 node가 업데이트 되면서 오류가 나는 듯...

firebase deploy를 했는데 오류가 나서 depency를 처리하고 재설치

 

brew을 통하여 최신버전의 node로 업데이트


$ brew upgrade node

했더니 v5.9.0 버전인가 ?를 설치 하길래...

v6.6.0 설치를 위하여 


$ brew update

error /usr/local/ must be writable  나기 시작함...


검색을 해 봤더니 El Caption(OS X 10.11) 이 보안 강화 때문에 안된다는 게..?

내용은 beta 때 글이긴 한데...


https://github.com/Homebrew/legacy-homebrew/issues/41665


실제로 쓸 권한이 없는 거니까


글 중간의 내용대로 아래 명령어로 해결

$ sudo chown -R $(whoami):admin /usr/local

 

윈도우에서 node를 개발하고 모듈을 받다보면... 폴더 길이 때문에 가끔 문제가 생길 때가 있다 -ㅅ-;


여러가지를 검색을 한것을 정리 해본다.


  • npm ddp or npm dedupe

https://docs.npmjs.com/cli/dedupe


겹치지 않은 걸 잘 해준 것 같긴 한데... 오류가 나는 조건은 해결해 주지 않음


  • npm-flatten

https://github.com/neenhouse/npm-flatten


내가 작성한 node application에 대한 package.json이 있어야 함.


  • flatten-packages

https://www.npmjs.com/package/flatten-packages


이동과 삭제를 잘 해준다


https://scottaddie.com/2015/08/16/npm-vs-windows-max_path-limitation/


제일 괜찮아 보이는 건 flatten-packages인 것 같긴 함.

package.json도 필요 없고, 그냥 global 설치 이후 명령어 한방이면

디렉토리 이동에서 부터 삭제까지 잘 해줌


node js의 request를 활용하여 url호출 시 userAgent를 변경하고 싶을 때 option을 붙여서 사용한다.

간단하게 호출 할 경우에는 options 부분에 그냥 url만 넣으면 된다.


아래 헤더는 크롬의 익스텐션인 Chrome UA Spoofer를 이용하여 직접 url을 호출 해보고

헤더값을 추출


var request = require('request');
var options = {
    url : 'http://bluesid.tistory.com/',
    headers: {
        'User-Agent':'Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25'
    }
};

request(options, function(error, response, html){
    if (error) {throw error};

    console.log (html);
});


개발 중 소스를 고치다 보면 재 확인 시 매번 노드를 재 시작 해야 할 경우

귀차니즘이 존재.


해당 귀차니즘을 nodemon으로...


커맨드 창에서 사용해야 하므로 -g 옵션을 붙여서 설치

$ npm install nodemon -g


이후 부턴 $ node app.js 하던 걸

$ nodemon app.js 으로 뼌경만 해주면 끝


+ Recent posts