tishadow 를 사용할 때 수정된 파일을 감지해서 자동으로 빌드/업데이트 해준다.

ts @ run -u

위 명령을 내렸을떄, 우분투 14.04 에서 에러가 나는 문제가 있다.

다음과 같은 에러가 나는 경우.( 참조 : http://blog.1day1.org/523 )

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: watch ENOSPC
    at errnoException (fs.js:1024:11)
    at FSWatcher.start (fs.js:1056:11)
    at Object.fs.watch (fs.js:1081:11)
    at Gaze._watchDir ({홈}/lib/node_modules/tishadow/node_modules/gaze/lib/gaze.js:279:30)
    at {홈}/lib/node_modules/tishadow/node_modules/gaze/lib/gaze.js:336:10
    at iterate ({홈}/lib/node_modules/tishadow/node_modules/gaze/lib/helper.js:52:5)
    at Object.forEachSeries ({홈}/lib/node_modules/tishadow/node_modules/gaze/lib/helper.js:66:3)
    at Gaze._initWatched ({홈}/lib/node_modules/tishadow/node_modules/gaze/lib/gaze.js:332:10)
    at Gaze.add ({홈}/lib/node_modules/tishadow/node_modules/gaze/lib/gaze.js:167:8)
    at new Gaze ({홈}/lib/node_modules/tishadow/node_modules/gaze/lib/gaze.js:68:10)

관련 자료를 찾아보니 리눅스의 inotify 관련 설정때문이다. 더 정확히 max_user_watches 값이다.

다음 명령으로 해당값을 알 수 있다.

$ cat /proc/sys/fs/inotify/max_user_watches

8192

위 값을 늘려주면 된다.


다음과 같이 명령으로 max_user_watches 값을 늘려준다.( 값은 본인의 상황에 따라 )

$ echo fs.inotify.max_user_watches=65536 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
fs.inotify.max_user_watches=65536
fs.inotify.max_user_watches = 65536


이제 다시 tishadow 의 자동감지를 해보자. 다음처럼 나오면 정상이다.

$ ts @ run -u
[INFO] Beginning Build Process
[INFO] Compiling Alloy for android
[WARN] Nothing to update.



반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,