我在我的package.json中定义的 bin 模块上获得command not found...
。 为什么?我认为应该自动将本地命令映射到路径中。
在我的模块的package.json中:
"bin": {
"testme": "./misc/testme"
},
./ misc / testme script:
#!/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...
答案 0 :(得分:3)
我认为只有在全局安装软件包时才能运行testme
。为了运行此命令(没有全局安装),您必须npm run testme
并将其添加到package.json文件中:
"scripts": {
"testme": "./bin/testme"
此处有更多信息:http://2ality.com/2016/01/locally-installed-npm-executables.html
答案 1 :(得分:2)
有两种方法(我可以想到运行此命令): -
a(由@TAMAS讲述)。
npm install -g testme
湾
PATH = $PATH/your/project/dir/node_modules/.bin
EXPORT PATH
答案 2 :(得分:0)
对我来说,必须在Windows上运行
在命令开始执行之前,在我项目的根文件夹中npm链接
。我不知道它是否适用于其他操作系统