首页 > 解决方案 > 如何使用 MacOS 在 package.json 上调用多个命令

问题描述

我正在将我的项目从 Windows 迁移到 MacOS。这是我在 Windows 中的 package.json 中的脚本:

"start-dev": "nodemon --exec \"set NODE_ENV=development && cd ./src && babel-node server.js",

我如何在 MacOS 下编写它?这是我尝试过但没有成功的方法:

"start-dev": "nodemon --exec \"NODE_ENV=development cd ./src babel-node server.js",

使用类似 Windows 的命令,我收到以下错误:

$ yarn start-dev
yarn run v1.6.0
(node:6638) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
$ nodemon --exec "set NODE_ENV=development && cd ./src && babel-node server.js
/bin/sh: -c: line 0: unexpected EOF while looking for matching `"'
/bin/sh: -c: line 1: syntax error: unexpected end of file
error Command failed with exit code 2.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

标签: node.jsmacospackage.json

解决方案


您应该能够在 macOS 下编写相同的命令。

"start-dev": "nodemon --exec \"set NODE_ENV=development && cd ./src && babel-node server.js",

以上命令应该可以在 MacOS 上运行。如果不是,请告诉我们您遇到的错误是什么。

编辑:你不要关闭你的报价:我认为你想这样做(在最后添加了一个报价):

"start-dev": "nodemon --exec \"set NODE_ENV=development && cd ./src && babel-node server.js\"",

推荐阅读