[Javascript] NPM: 실행 가능한 모듈 만들기

[원본 링크]

Node.js 환경에서 개발을 좀 해보았다면, 라이브러리를 전역으로 설치해서 프로그램처럼 사용하는 경우를 많이 접해보았을 것이다.

그런걸 만드는 법을 대충 정리해보겠다.




패키지 작성

먼저 package.json을 보자.
그렇게 복잡할 것은 없다.
name이 겹치지 않게 잘 지어주고, bin 속성으로 어떤 명령어로 어떤 소스가 실행될지 지정만 해주면 된다.

여기선 boom이라는 명령어로 ./src/index.js 파일이 실행되도록 했다.

실행 소스파일도 일반 소스와 크게 다를건 없다.




테스트하기

명령행 실행파일 형태의 라이브러리를 테스트하고 싶다면 npm link 명령을 사용하면 된다.
이것만 돌려도 현재 라이브러리가 전역으로 설치된다.

그러면 돼야 하는데... 오류가 뜬다?

분명히 index.js 소스를 그냥 실행할 때는 잘 되는데 link 후 실행할 때 이런 오류가 발생할 수가 있다.

이건 실행시에 이게 nodejs 소스인지 아닌지를 구분하질 못해서 발생하는 문제다.
실행 소스 위에 아래와 같은 특수한 구문으로 node임을 명시해주면 된다.

#! /usr/bin/env node

이렇게

이렇게 해서 다시 돌리면

잘 될 것이다.




배포 후 사용하기

이번엔 배포를 해보자.
먼저 로그인을 하고

배포를 한다.

배포가 문제없이 됐다면 전역으로 설치해서 바로바로 사용할 수 있을 것이다.

대충 이렇게 써먹으면 된다.