如何停止npm start和npm run dev来启动我的项目,我希望yarn只启动我的项目并运行dev

sbdsn5lh  于 2023-04-30  发布在  Yarn
关注(0)|答案(1)|浏览(384)

(我希望yarn start和yarn run dev能正常工作,而不是npm能正常工作,使用yarn会显示错误)
这是我的剧本。json文件:

"scripts": {
    "prestart": "if [ \"$npm_config_user_agent\" != \"yarn\" ]; then echo \"Error: Use 'yarn start' to run this application\" && exit 1; fi",
    "start": "yarn run dev",
    "dev": "vite",
    "build": "vite build",
    "preview": "vite preview"
  },

这个脚本阻止我运行yarn start和npm start,我只想npm start不运行。

3bygqnnd

3bygqnnd1#

hi强制使用yarn而不是npm,create。npmrc文件在根添加这个在它

engine-strict = true

和 Package 。josn add this

"engines": {
    "npm": "Use-yarn",
    "yarn": ">= 1.19.1"
  },

上面是包裹。json文件使用了yarn的有效版本。但是对于npm,我们指定了一个无效的版本。
这将强制用户使用yarn安装模块,如果你想禁用npm start,你可以在json包中添加它。

"prestart": "node -e \"if(process.env.npm_execpath.indexOf('yarn') === -1) throw new Error('You must use Yarn to start, not NPM')\"",

脚本看起来像这样:

"scripts": {
    "prestart": "node -e \"if(process.env.npm_execpath.indexOf('yarn') === -1) throw new Error('You must use Yarn to install, not NPM')\"",
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },

希望这对你有帮助

相关问题