React 在使用 create-react-app 创建项目后,npm start 无法工作

3

我正在学习React,但我的英语不好。我已经有了两个React项目,但它们都不能正常工作:( 我按照以下步骤进行操作:

npx create-react-app my-app cd my-app npm start

但它不起作用。我尝试清除缓存并重新安装npm,但没有成功。我该怎么办?

> my-app@0.1.0 start /Users/edu/Documents/htdocs/my-app
> react-scripts start


There might be a problem with the project dependency tree.
It is likely not a bug in Create React App, but something you need to fix locally.

The react-scripts package provided by Create React App requires a dependency:

  "babel-loader": "8.0.5"

Don't try to install it manually: your package manager does it automatically.
However, a different version of babel-loader was detected higher up in the tree:

  /Users/edu/node_modules/babel-loader (version: 8.1.0) 

Manually installing incompatible versions is known to cause hard-to-debug issues.

If you would prefer to ignore this check, add SKIP_PREFLIGHT_CHECK=true to an .env file in your project.
That will permanently disable this message but you might encounter other issues.

To fix the dependency tree, try following the steps below in the exact order:

  1. Delete package-lock.json (not package.json!) and/or yarn.lock in your project folder.
  2. Delete node_modules in your project folder.
  3. Remove "babel-loader" from dependencies and/or devDependencies in the package.json file in your project folder.
  4. Run npm install or yarn, depending on the package manager you use.

In most cases, this should be enough to fix the problem.
If this has not helped, there are a few other things you can try:

  5. If you used npm, install yarn (http://yarnpkg.com/) and repeat the above steps with it instead.
     This may help because npm has known issues with package hoisting which may get resolved in future versions.

  6. Check if /Users/edu/node_modules/babel-loader is outside your project directory.
     For example, you might have accidentally installed something in your home folder.

  7. Try running npm ls babel-loader in your project folder.
     This will tell you which other package (apart from the expected react-scripts) installed babel-loader.

If nothing else helps, add SKIP_PREFLIGHT_CHECK=true to an .env file in your project.
That would permanently disable this preflight check in case you want to proceed anyway.

P.S. We know this message is long but please read the steps above :-) We hope you find them helpful!

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! my-app@0.1.0 start: `react-scripts start`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the my-app@0.1.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/edu/.npm/_logs/2020-09-17T00_43_20_777Z-debug.log

@DacreDenny,你能看一下吗? - paws
除此之外还有其他输出吗? - Scotty Jamison
@ScottyJamison,我已经更新了,你能看到吗? - paws
是的,谢谢,那帮了我很多。 - Scotty Jamison
2个回答

5
请查看您的输出中建议编号6。

请检查/Users/edu/node_modules/babel-loader是否在您的项目目录之外。 例如,您可能在home文件夹中意外安装了一些东西。

听起来你可能曾经在你的home文件夹 (/Users/edu/) 中意外执行过npm install,导致你的项目依赖于这个文件夹下面的包。
解决方法是从/Users/edu/中删除node_modules、package.json和package-lock.json,它们都不需要在这里。 对于其他人: 上述解决方法可能无法解决您的具体问题,请仔细阅读错误消息,看看其他建议是否有帮助。通常情况下,错误消息是相当无用的,但有时候,有人会花时间写出一些有益的信息。这是其中非常出色的一个错误提示。

2
非常感谢!我已经工作了好几个小时了,我快要疯了 :) - paws
1
嗨,npm start 可以运行,但是现在 npm run build 无法运行。你有什么想法吗? - paws
1
@paws 我目前没有任何建议。请随意开一个新问题,如果需要的话,您可以在此评论线程中放置一个链接,这样我也可以看一下。 - Scotty Jamison
这不是意外,而是安装全局 Angular CLI 的结果。 - juanjinario

0

也许可以尝试:

npm cache clean

npm install

npm create-react-app my-app

cd my-app

npm run start

2
运行从1到7步骤可能是一个不错的开始。问题出在一个叫做babel-loader的依赖上。 - lotype

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接