NPM 启动返回错误,“项目依赖树可能有问题”

IT技术 javascript node.js reactjs npm webpack
2021-04-14 19:36:49

我是编码新手,并且对为什么我无法正确设置 React 有疑问。上周我很挣扎,然后终于成功了。但是现在我又遇到了同样的问题,但没有任何效果。

我有一个我开始的项目,npx create-react-app然后当我进入该项目时,我猜这个问题:

项目依赖树可能有问题。这可能不是 Create React App 中的错误,而是您需要在本地修复的问题。

Create React App 提供的 react-scripts 包需要一个依赖:

“webpack”:“4.29.6”

不要尝试手动安装:您的包管理器会自动安装。但是,在树的更高位置检测到了不同版本的 webpack:

/Users/aliceparker/node_modules/webpack(版本:4.33.0)

众所周知,手动安装不兼容的版本会导致难以调试的问题。

如果您希望忽略此检查,请将 SKIP_PREFLIGHT_CHECK=true 添加到项目中的 .env 文件中。这将永久禁用此消息,但您可能会遇到其他问题。

要修复依赖关系树,请尝试按照以下确切顺序执行以下步骤:

  1. 删除项目文件夹中的 package-lock.json(不是 package.json!)和/或 yarn.lock。
  2. 删除项目文件夹中的 node_modules。
  3. 从项目文件夹中的 package.json 文件中的依赖项和/或 devDependencies 中删除“webpack”。
  4. 运行 npm install 或 yarn,具体取决于您使用的包管理器。

在大多数情况下,这应该足以解决问题。如果这没有帮助,您还可以尝试其他一些方法:

  1. 如果您使用 npm,请安装 yarn ( http://yarnpkg.com/ ) 并用它重复上述步骤。这可能会有所帮助,因为 npm 存在已知的包提升问题,这些问题可能会在未来版本中得到解决。

  2. 检查 /Users/aliceparker/node_modules/webpack 是否在您的项目目录之外。例如,您可能不小心在主文件夹中安装了某些东西。

  3. 尝试在您的项目文件夹中运行 npm ls webpack。这将告诉您安装了 webpack 的其他包(除了预期的 react-scripts)。

如果没有其他帮助,请将 SKIP_PREFLIGHT_CHECK=true 添加到项目中的 .env 文件中。如果您无论如何都想继续,这将永久禁用此预检检查。

PS 我们知道这条消息很长,但请阅读上面的步骤 :-) 我们希望它们对您有所帮助!

我已按照上述步骤操作。仍然得到问题。我还全局卸载了 webpack 并重新安装了它。

这是我的 package.json 文件的样子:

`{
  "name": "ravenous-app",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "react": "^16.8.6",
    "react-dom": "^16.8.6",
    "react-scripts": "3.0.1"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts 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"
    ]
  }
}`

任何人都可以指导我解决这个问题吗?(Ps。我只是尝试创建一个新项目,但遇到同样的问题......)

6个回答

就我而言,我以这种方式解决了我的问题

  1. .env在文件夹的根目录创建一个react folder
  2. 键入SKIP_PREFLIGHT_CHECK=true的内部.env文件
  3. 现在在 cmd 中运行npm start

在终端中,运行:

cd ~

然后:

ls

您应该会看到一个文件列表。如果node_modules包含在该列表中(看起来应该是这样),您要删除该文件夹。您可以在终端中这样做:

rm -rf node_modules

但请记住:这不会将文件夹发送到垃圾箱。它将不可撤销地删除它。rm -rf是一个强大的命令。如果这让您感到紧张,请open .改为键入这将~在 Finder 中打开您的“主”( ) 目录,您可以node_modules在那里以熟悉的、右键单击、发送到垃圾箱的方式进行删除

希望有帮助!

嗯,也许这个线程会有所帮助:stackoverflow.com/questions/42308879/npm-err-code-elifecycle
2021-05-23 19:36:49
您是否收到与原始帖子相同的错误消息?或者不同的东西?编辑:你cd在运行之前是否回到了项目目录npm start
2021-06-06 19:36:49
不幸的是不是 :( 当我完成这些步骤,重新安装 npm 然后 npm start 时,我又回到了同样的问题。
2021-06-06 19:36:49
只是为了说明,我已经完成了解决问题的所有步骤,但无论如何它都不起作用。我发现我的用户文件夹中有一个 node_modules 文件夹。我删除了这个,但不是我项目中的那个,然后可以使用“npm start”而没有任何问题。
2021-06-11 19:36:49
npm 错误!代码 ELIFECYCLE npm ERR!错误号 1 npm 错误号!react-app@0.1.0 开始:react-scripts startnpm ERR!退出状态 1 npm ERR!npm 错误!react-app@0.1.0 启动脚本失败。npm 错误!这可能不是 npm 的问题。上面可能有额外的日志输出。npm 错误!可以在以下位置找到此运行的完整日志:npm ERR!/Users/alice/.npm/_logs/2019-06-10T14_56_11_380Z-debug.log Alices-MB​​P-7:react-app alice$
2021-06-20 19:36:49

删除package-lock.json(不是package.json!)和/或yarn.lock在您的项目文件夹中。

node_modules在您的项目文件夹中删除

webpackpackage.json项目文件夹中的文件中的依赖项和/或 devDependencies 中删除

运行npm installyarn,具体取决于您使用的包管理器。

我尝试了上述所有方法,但它不起作用,但是一旦我将 .env 文件添加到我的项目结构并添加SKIP_PREFLIGHT_CHECK=true 到文件中。我可以绕过这个问题:

问题解决了

这是您放入.env文件中的内容:

这是您放入 .env 文件中的内容

您需要先尝试,使用名称创建一个文件.env并存储SKIP_PREFLIGHT_CHECK=true

root/.env 并且.env应该包含SKIP_PREFLIGHT_CHECK=true

  1. 创建一个.env文件或编辑退出一个。
  2. SKIP_PREFLIGHT_CHECK = true将此写入.env文件。
  3. 重启开发服务器。

我是这样解决问题的。