2017-04-26 10 views
0

Npm은 각 패키지를 설치 한 후 사용자 지정 실행 파일 또는 스크립트를 실행하는 방법을 제공합니다 (Hook Scripts 참조). 여기 npm "postinstall"후크에서 패키지 이름을 얻는 방법은 무엇입니까?

내가 쓴 작은 후크 스크립트입니다 : 다음 일반적인 방법으로 패키지를 설치

후크 테스트-NPM/node_modules/.hooks/사후

#!/usr/bin/env node 
console.log("postinstall... " + process.argv.join(" ")); 

:

결과는 내가 기대했던되지 않은 매우 그러나
$ npm install --save some-package 

:

> [email protected] postinstall /Users/macuser/Desktop/hook-test-npm/node_modules/some-package 
> /Users/macuser/Desktop/hook-test-npm/node_modules/.hooks/postinstall 
postinstall... /usr/local/bin/node /Users/macuser/Desktop/hook-test-npm/node_modules/.hooks/postinstall 

방금 ​​설치 한 패키지 이름 ("some-package")이 실행 가능 파일에 대한 인수로 제공되지 않는 것 같습니다.

훅 내에서이 정보에 액세스 할 수있는 방법이 있습니까?

답변

0

다음 실험을 통해 나는 찾고있는 정보가 포함 된 다음 두 가지 환경 변수를 발견했습니다. 이것들이 직접적으로 사용되어 지는지 나는 모른다. 그러나 그들은 당분간 나를 위해 문제를 확실히 해결할 것이다 :

#!/usr/bin/env node 

console.log("postinstall..."); 

// Print out the name of the package that was just installed. 
console.log(" " + process.env.npm_package_name); 

// Print out the directory of the package that was just installed. 
console.log(" " + process.env.PWD);