如何在终端直接运行仅通过--save-dev安装的npm脚本(含Lerna示例)
直接运行本地dev依赖的npm脚本(无需修改package.json)
当然可以!不用在package.json的scripts字段里加条目也能直接运行仅通过--save-dev安装的工具脚本,下面分场景给你说清楚:
普通npm项目的两种方法
当你用npm install --save-dev安装工具时,它的可执行文件会被放在项目根目录的node_modules/.bin文件夹里,你有两种便捷调用方式:
方式一:直接指定可执行文件路径
终端里输入相对路径就能运行,比如你装了eslint作为dev依赖,可执行命令如下:./node_modules/.bin/eslint src/方式二:用
npx(推荐)npx是npm自带的工具,会自动查找项目本地node_modules/.bin里的可执行文件,不用写冗长路径,直接输入工具名即可:npx eslint src/它会自动处理环境变量,效果和
npm run一致,但省了修改package.json的步骤。
适配你的Lerna多包场景
回到你提到的Lerna初始化流程:你已经在项目中npm install lerna --save-dev装好Lerna,完全不用在package.json里加scripts条目,直接用下面两种方式运行Lerna命令即可:
- 用npx直接调用:
npx lerna init - 或者直接调用本地可执行文件:
这样就能完成Lerna仓库的初始化,全程无需修改./node_modules/.bin/lerna initpackage.json。
额外小提示
如果你个人开发时经常需要运行某个工具,不想每次敲npx,可以把node_modules/.bin加入系统PATH环境变量,但团队协作时还是推荐用npx或npm run,避免环境差异导致的问题。
内容的提问来源于stack exchange,提问作者Socrates
相关产品推荐
相关产品推荐

