我目前使用yarn
作为我的包管理器,但有些人对我的球队仍然可以使用npm
。我在写package.json
几个剧本
"scripts": {
"clear": "rm -Rf app/javascripts/* & rm index.html",
"watch": "yarn clear | NODE_ENV=development webpack -w --env.dev",
"build": "yarn clear && yarn dev && yarn start",
"dev": "yarn clear | NODE_ENV=development webpack --env.dev",
"prod": "yarn clear | NODE_ENV=production webpack --progress --env.prod"
}
如果我想打电话给clear
其它脚本里面,我必须要么使用npm clear
或yarn clear
。由于剧本目前正在写的,不具有yarn
谁装谁都会碰到一个错误。
有没有办法为我写这篇package.json
,使其无论工作,如果有人运行npm build
或yarn build
,它会使用自己选择的包管理器?
您可以使用变量npm_execpath
,它将指向用来运行脚本的包管理器。
例如,这将输出yarn
或npm
的版本:
"scripts": {
"version": "$npm_execpath -v",
}
$ npm run version
> 3.10.10
$ yarn run version
> 0.21.3