/bin/sh:SET:找不到命令
/bin/sh: SET: command not found
我克隆了一个包含以下内容的 React 项目 package.json
。在 yarn
、yarn start
之后,出现了以下错误。我试了yarn add react-scripts start
,还是不行。
我正在使用 MacOS。
有人能帮忙吗?
$ yarn start
yarn run v1.21.1
$ SET PORT=8000 && react-scripts start
/bin/sh: SET: command not found
error Command failed with exit code 127.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
package.json
:
{
"name": "frontend",
"version": "0.1.0",
"private": true,
"dependencies": {
"@material-ui/core": "^4.9.8",
"@microsoft/office-js-helpers": "^1.0.2",
"@testing-library/jest-dom": "^4.2.4",
"@testing-library/react": "^9.3.2",
"@testing-library/user-event": "^7.1.2",
"@types/react-stripe-elements": "^6.0.4",
"@uifabric/react-cards": "^0.109.49",
"axios": "^0.19.2",
"color": "^3.1.2",
"cross-storage": "^1.0.0",
"dva": "^2.4.1",
"dva-model-creator": "^0.4.3",
"formik": "^2.1.4",
"lodash": "^4.17.15",
"moment": "^2.24.0",
"monaco-editor": "^0.20.0",
"node-sass": "^4.13.1",
"office-ui-fabric-react": "^7.105.4",
"query-string": "^6.11.1",
"react": "^16.13.1",
"react-app-polyfill": "^1.0.6",
"react-dom": "^16.13.1",
"react-monaco-editor": "^0.35.0",
"react-scripts": "3.4.1",
"react-stripe-elements": "^6.1.1",
"redux-devtools-extension": "^2.13.8",
"styled-components": "^5.0.1",
"typescript": "^3.8.3",
"yup": "^0.28.3"
},
"scripts": {
"start": "SET PORT=8000 && react-scripts start",
"build": "react-scripts --max_old_space_size=8096 build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": "react-app"
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
},
"devDependencies": {
"@types/color": "^3.0.1",
"@types/cross-storage": "^0.8.29",
"@types/jest": "^25.1.4",
"@types/lodash": "^4.14.149",
"@types/node": "^13.9.5",
"@types/query-string": "^6.3.0",
"@types/react": "^16.9.27",
"@types/react-dom": "^16.9.5",
"@types/react-redux": "^7.1.7",
"@types/styled-components": "^5.0.1",
"@types/yup": "^0.26.33"
}
}
我想你要找的是这个,在执行命令之前设置环境变量:PORT=8000 react-scripts start
,因为Linux/Unix系统不使用SET命令设置环境变量就像 Windows 一样
如果您遇到找不到 react-scripts
命令的问题,请使用此命令直接引用包的本地版本:PORT=8000 ./node_modules/.bin/react-scripts start
在 MacOS 上您不需要 SET
。将 package.json 的 start
脚本的内容更改为 PORT=8000 react-scripts start
。
更好的是,要支持跨 OS 环境变量设置,您可以使用 cross-env 之类的东西。
为此,将依赖项添加到 cross-env (yarn install --dev cross-env
),然后将 start
脚本重写为 cross-env PORT=8000 react-scripts start
.
在 Posix 上,最兼容的是 "env PORT=8000 react-scripts start"
。
这就是 cross-env
包存在的原因;它在 Windows 和 Posix 系统上都能正常工作。
我克隆了一个包含以下内容的 React 项目 package.json
。在 yarn
、yarn start
之后,出现了以下错误。我试了yarn add react-scripts start
,还是不行。
我正在使用 MacOS。
有人能帮忙吗?
$ yarn start
yarn run v1.21.1
$ SET PORT=8000 && react-scripts start
/bin/sh: SET: command not found
error Command failed with exit code 127.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
package.json
:
{
"name": "frontend",
"version": "0.1.0",
"private": true,
"dependencies": {
"@material-ui/core": "^4.9.8",
"@microsoft/office-js-helpers": "^1.0.2",
"@testing-library/jest-dom": "^4.2.4",
"@testing-library/react": "^9.3.2",
"@testing-library/user-event": "^7.1.2",
"@types/react-stripe-elements": "^6.0.4",
"@uifabric/react-cards": "^0.109.49",
"axios": "^0.19.2",
"color": "^3.1.2",
"cross-storage": "^1.0.0",
"dva": "^2.4.1",
"dva-model-creator": "^0.4.3",
"formik": "^2.1.4",
"lodash": "^4.17.15",
"moment": "^2.24.0",
"monaco-editor": "^0.20.0",
"node-sass": "^4.13.1",
"office-ui-fabric-react": "^7.105.4",
"query-string": "^6.11.1",
"react": "^16.13.1",
"react-app-polyfill": "^1.0.6",
"react-dom": "^16.13.1",
"react-monaco-editor": "^0.35.0",
"react-scripts": "3.4.1",
"react-stripe-elements": "^6.1.1",
"redux-devtools-extension": "^2.13.8",
"styled-components": "^5.0.1",
"typescript": "^3.8.3",
"yup": "^0.28.3"
},
"scripts": {
"start": "SET PORT=8000 && react-scripts start",
"build": "react-scripts --max_old_space_size=8096 build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": "react-app"
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
},
"devDependencies": {
"@types/color": "^3.0.1",
"@types/cross-storage": "^0.8.29",
"@types/jest": "^25.1.4",
"@types/lodash": "^4.14.149",
"@types/node": "^13.9.5",
"@types/query-string": "^6.3.0",
"@types/react": "^16.9.27",
"@types/react-dom": "^16.9.5",
"@types/react-redux": "^7.1.7",
"@types/styled-components": "^5.0.1",
"@types/yup": "^0.26.33"
}
}
我想你要找的是这个,在执行命令之前设置环境变量:PORT=8000 react-scripts start
,因为Linux/Unix系统不使用SET命令设置环境变量就像 Windows 一样
如果您遇到找不到 react-scripts
命令的问题,请使用此命令直接引用包的本地版本:PORT=8000 ./node_modules/.bin/react-scripts start
在 MacOS 上您不需要 SET
。将 package.json 的 start
脚本的内容更改为 PORT=8000 react-scripts start
。
更好的是,要支持跨 OS 环境变量设置,您可以使用 cross-env 之类的东西。
为此,将依赖项添加到 cross-env (yarn install --dev cross-env
),然后将 start
脚本重写为 cross-env PORT=8000 react-scripts start
.
在 Posix 上,最兼容的是 "env PORT=8000 react-scripts start"
。
这就是 cross-env
包存在的原因;它在 Windows 和 Posix 系统上都能正常工作。