2017-05-19 17 views
0

私はビンに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"); 

それは、node_modules/.binファイルディレクトリに

$ 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 

表示されますが、 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 
関連する問題