windows下是不是只有全局安装npm的模块包才能执行命令行工具?
比如mocha
,我只在项目里面安装它:
npm install mocha
现在我在windows下的cmd
运行它的命令行工具:
./node_modules/.bin/_mocha
是不行的。
是不是一定要全局安装npm install -g mocha
才可以运行它的命令行工具?
我知道是可以通过在package.json
里面配置scripts
来npm run xx
。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
如果在window下开发,推荐先安装git,安装后就拥有了类linux的环境——git bash的shell:
运行就没问题了哦。
其实只要我们懂得:npm install -g xx 不光是将xx模块安装到全局环境中,还将xx模块所携带的/.bin/中命令注入到了全局环境,使得你可以在shell中:mocha xxx
是的,linux下也一样的
1.关于npm 的 prefix
在npm中安装全局文件时,npm会把他安装在npm里面配置的prefix路径下,查看prefix的方法是:
npm config list
,设置方法是npm config set prefix
你的路径。2.关于gulp 不是内部或外部命令,也不是可运行的程序或批处理文件 其实这个和prefix没什么关系,npm会把它安装成功后建立的一个可执行文件放在他自己的路径下,你只要找到你安装gulp后生成的gulp.exe文件的位置,把它的路径配置到系统环境变量
path
下面就了其实你可以直接用命令行运行bin内的文件
比如你install 了一个gulp
那么根据gulp的package.json文件,你可以知道bin里面gulp文件运行的位置
然后你就可以运行
效果与 global安装下 运行gulp 效果是一样的。
用npx命令就可以直接执行本地安装的模块(前提是package.json完整)
想给二楼点赞,可是没有声望连赞都不能点,可惜我还专门登录了一下,手动点赞~(≧▽≦)/~