为什么我得到这个错误,而试图运行我的反应应用程序的构建?
我得到以下错误,而试图服务于我的反应应用程序的"构建":
命令:
serve -s build
返回:
Traceback (most recent call last):
4: from -e:1:in `<main>'
3: from /Users/johnelbasha/.rbenv/versions/2.6.6/lib/ruby/2.6.0/un.rb:324:in `httpd'
2: from /Users/johnelbasha/.rbenv/versions/2.6.6/lib/ruby/2.6.0/un.rb:41:in `setup'
1: from /Users/johnelbasha/.rbenv/versions/2.6.6/lib/ruby/2.6.0/un.rb:41:in `new' /Users/johnelbasha/.rbenv/versions/2.6.6/lib/ruby/2.6.0/un.rb:63:in `block in setup': invalid option: s (OptionParser::InvalidOption)
4: from -e:1:in `<main>'
3: from /Users/johnelbasha/.rbenv/versions/2.6.6/lib/ruby/2.6.0/un.rb:324:in `httpd'
2: from /Users/johnelbasha/.rbenv/versions/2.6.6/lib/ruby/2.6.0/un.rb:41:in `setup'
1: from /Users/johnelbasha/.rbenv/versions/2.6.6/lib/ruby/2.6.0/un.rb:41:in `new' /Users/johnelbasha/.rbenv/versions/2.6.6/lib/ruby/2.6.0/un.rb:63:in `block in setup': ambiguous option: -s (OptionParser::AmbiguousOption)
在得到这个错误之前,我使用了以下命令:
命令:
npm run build
返回:
> my-app@0.1.0 build /Users/johnelbasha/code/my-app
> react-scripts build
Creating an optimized production build...
Compiled with warnings.
src/components/Header.js
Line 22:8: 'headingStyle' is assigned a value but never used no-unused-vars
Search for the keywords to learn more about each warning.
To ignore, add // eslint-disable-next-line to the line before.
File sizes after gzip:
42.61 KB build/static/js/2.1d01524f.chunk.js
1.59 KB build/static/js/3.1fb51886.chunk.js
1.36 KB build/static/js/main.2fd5a198.chunk.js
1.17 KB build/static/js/runtime-main.3e447e76.js
624 B build/static/css/main.fb0aa769.chunk.css
The project was built assuming it is hosted at /.
You can control this with the homepage field in your package.json.
The build folder is ready to be deployed.
You may serve it with a static server:
yarn global add serve
serve -s build
Find out more about deployment here:
https://cra.link/deployment
背景:
我正在学习React,并在这里观看教程视频:4846年代https://www.youtube.com/watch?v=w7ejDZ8SWv8& t =
不是yarns的serve
命令(由服务器安装),而是启动一个不同的命令,试图启动一个ruby web服务器。
这可能是由于安装了一个shell函数来服务于当前目录造成的,例如在这个SO答案中所示。这个shell函数将覆盖$PATH
中可能存在的任何其他可执行文件。
您可以使用以下命令验证:
type serve
这将为您提供将要运行的可执行文件的完整路径(如果命令解析为可执行文件),或者告诉您shell使用的已定义函数或别名的来源。
根据上一步的结果,您可以重命名或删除shell函数(然后重新启动当前shell),或者您可以使用yarn的serve
命令的完整路径运行它。您可以通过运行which serve
来检测可执行文件的完整路径。
如果你在之前运行它,因为它会运行非别名
serve
(你的yarn one)
serve -s build
这对我有用,谢谢Mauro。
npm run build
serve -s build
转到http://localhost:3000/(如果已经打开请刷新)
serve -s被ruby采用,因为我现在正在开发react应用程序。在某些地方serve -s被ruby '保留',这个操作允许服务器操作✌️