2017-05-19 10 views
0

bin 모듈에 내가 command not found... 모듈을 정의했습니다. package.json에 모듈을 정의했습니다. 왜? 로컬 명령을 경로에 자동으로 매핑해야한다고 생각했습니다. 내 모듈의 package.json에서npm package.json bin 모듈을 정의 함 - 명령을 찾을 수 없음

:

"bin": { 
    "testme": "./misc/testme" 
    }, 

./misc/testme 스크립트 :

#!/usr/bin/env node 
console.log("this is a test"); 

그것은 디렉토리

$ ls node_modules/.bin 
acorn  escodegen gulp  kue-dashboard ncp     semver    stylus 
cake  esgenerate gzip-size lessc   nopt    shjs     testme 
cleancss esparse  handlebars make-plural pretty-bytes  sshpk-conv   uglifyjs 
coffee  esvalidate image-size messageformat rc     sshpk-sign   user-home 
dateformat express  jade  mime   retrieve-arguments sshpk-verify   uuid 
dot-object geojsonhint jsonlint mkdirp   rimraf    strip-indent   watchr 
errno  grunt  js-yaml  mustache  sails    strip-json-comments which 

그러나 .BIN /를 node_modules에 나타납니다, npm install을 실행하면 다음과 같이 나타납니다.

$ testme 
bash: testme: command not found... 

답변

2

testme을 실행하는 것이 패키지를 전 세계적으로 설치하려는 경우에만 가능하다고 생각합니다. (글로벌 설치없이)이 명령을 실행하려면 당신은 npm run testme해야 할 것하고 package.json 파일에 추가하십시오

"scripts": { 
    "testme": "./bin/testme" 
여기

대한 추가 정보 : http://2ality.com/2016/01/locally-installed-npm-executables.html

1

(즉 2 가지 방법이 있습니다 이 명령을 실행하는 것으로 생각할 수 있습니다.) -

(@TAMAS에서 말한대로).

npm install -g testme 

b.

PATH = $PATH/your/project/dir/node_modules/.bin 

EXPORT PATH