cornerstonewdk/cornerstone-framework — pull request #18 by xenosoz (2013-11-17 15:36:42+00:00)
Title: Cornerstone CLI: npm 의존성 문제 해결, 버전을 1.0.1로 변경

[Jam 코드](https://github.com/caolan/jam)를 조금 읽어보면 .jamrc는 프로젝트 폴더에 넣어두어도 정상 동작하는 것 같습니다. Jam을 쓰는 모든 프로젝트가 코너스톤 프로젝트를 참조하지는 않기 때문에 사용자 홈 디렉토리에 있는 .jamrc를 변경하는 대신 프로젝트별로 설정할 수 있도록 수정해 보았습니다.

리눅스 등에서 코너스톤 커맨드라인 인터페이스를 전역으로 설치하기 위해서는 관리자 권한이 필요합니다. tools/cornerstone-cli/src/package.json 의 script 부분이 제대로 동작하지 않는 문제를 만났고, 이를 해결해 보았습니다. 제 환경에서는 npm을 관리자 권한으로 실행하여도 패키지의 스크립트는 유저 권한으로 실행되었던 것이 아닐까 추측합니다.

이 코드를 머지하면:
* 사용자 홈 디렉토리에 있는 .jamrc를 변경하지 않습니다.
* 대신, `cstone init` 할 때, 프로젝트 디렉토리에 cornerstone.sktelecom이 포함된 .jamrc를 복사해 넣습니다.
* 더 이상 사용하지 않는 jamrc-updator는 삭제합니다.
* npm 배포용 cornerstone-cli의 버전이 1.0.1이 됩니다.

고맙습니다.

xenosoz@badak ~ $ uname -a
Linux badak 3.10.7-gentoo-r1 #4 SMP Mon Nov 18 03:38:05 KST 2013 i686 Intel(R) Pentium(R) M processor 1.60GHz GenuineIntel GNU/Linux

xenosoz@badak ~ $ sudo npm install -g cornerstone-cli
Password:
npm http GET https://registry.npmjs.org/cornerstone-cli
npm http 304 https://registry.npmjs.org/cornerstone-cli

... omitted ...

npm http 304 https://registry.npmjs.org/lru-cache
/usr/bin/cstone -> /usr/lib/node_modules/cornerstone-cli/bin/cstone
/usr/bin/jamrc-updator -> /usr/lib/node_modules/cornerstone-cli/bin/jamrc-updator
> cornerstone-cli@1.0.0 install /usr/lib/node_modules/cornerstone-cli
> npm install -g jamjs && jamrc-updator && npm install -g grunt-cli
npm ERR! Error: EACCES, open '/root/.npm/ad68fceb-jamjs.lock'
npm ERR! { [Error: EACCES, open '/root/.npm/ad68fceb-jamjs.lock']
npm ERR! errno: 3,
npm ERR! code: 'EACCES',
npm ERR! path: '/root/.npm/ad68fceb-jamjs.lock' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! System Linux 3.10.7-gentoo-r1
npm ERR! command "/usr/bin/node" "/usr/bin/npm" "install" "-g" "jamjs"
npm ERR! cwd /usr/lib/node_modules/cornerstone-cli
npm ERR! node -v v0.10.22
npm ERR! npm -v 1.3.14
npm ERR! path /root/.npm/ad68fceb-jamjs.lock
npm ERR! code EACCES
npm ERR! errno 3
npm ERR! stack Error: EACCES, open '/root/.npm/ad68fceb-jamjs.lock'
npm ERR!

... omitted ...