NPM开始返回错误,“项目依赖关系树可能有问题”

时间:2019-06-10 14:18:53

标签: javascript node.js reactjs npm webpack

我是编码新手,并且对为什么我无法正确设置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.   
  3. 删除项目文件夹中的node_modules。
  4.   
  5. 从项目文件夹中package.json文件中的依赖项和/或devDependencies中删除“ webpack”。
  6.   
  7. 根据所使用的软件包管理器运行npm install或yarn。
  8.   
     

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

     
      
  1. 如果使用的是npm,请安装yarn(http://yarnpkg.com/)并重复上述步骤。    这可能会有所帮助,因为npm的软件包吊装存在已知问题,将来的版本中可能会解决该问题。

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

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

  6.   
     

如果没有其他帮助,请将SKIP_PREFLIGHT_CHECK = true添加到.env文件   在您的项目中。这将永久禁用此飞行前检查   如果您仍然要继续进行操作。

     

P.S。我们知道此消息很长,但请阅读上述步骤:-)   我们希望您对他们有所帮助!

我已经按照上述步骤操作。仍然得到问题。 我还全局卸载了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"
    ]
  }
}`

有人能帮助我解决问题的方法吗? (对。我只是尝试创建一个新项目,但遇到了同样的问题...)

17 个答案:

答案 0 :(得分:5)

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

  1. .env文件夹的根目录下创建一个react folder
  2. 在侧面SKIP_PREFLIGHT_CHECK=true文件中输入.env
  3. 现在在cmd npm start中运行。

答案 1 :(得分:4)

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

我是这样解决的。

答案 2 :(得分:2)

删除项目文件夹中的package.json(而不是yarn.lock!)和/或node_modules

删除项目文件夹中的webpack

从项目文件夹中package.json文件中的依赖项和/或devDependencies中删除npm install

根据您使用的程序包管理器,运行yarnSKIP_PREFLIGHT_CHECK=true

我尝试了以上所有方法,但均无法正常工作,但是一旦我在项目结构中添加了.env文件并将.env添加到了文件中。我可以绕过这个问题:

problem solved

这是您放在{{1}}文件中的内容:

This what you put inside the .env file

答案 3 :(得分:1)

您可以按照错误日志中给出的说明进行操作。

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

  3. 从依赖项和/或devDependencies中删除“ webpack” 项目文件夹中的package.json文件。

  4. 根据所使用的软件包管理器运行npm install或yarn。

答案 4 :(得分:1)

就我而言,我从用户目录中删除了 node_modules。成功了。

答案 5 :(得分:1)

将行"webpack": "4.44.2" 添加到您的 package.json 文件的依赖项中。 创建 .env 文件,并在其中输入 SKIP_PREFLIGHT_CHECK=true,这将解决您的问题。

答案 6 :(得分:1)

对我有用的解决方案

SKIP_PREFLIGHT_CHECK=true添加到项目中的.env文件。我不知道这将来是否会导致错误。

答案 7 :(得分:1)

问题是您的用户目录中安装了webpack。 用npm或手动将其删除,一切应该运行良好: 参考:https://github.com/facebook/create-react-app/issues/6120

答案 8 :(得分:0)

我之前也遇到过同样的问题,并且已经解决了。 create-react-app已提供webpack(v4.29.6),与webpack(v4.33.0)中的/Users/aliceparker/node_modules冲突。

因此,如果您删除第二个webpack(v4.33.0),它将运行。

答案 9 :(得分:0)

我使用npx创建了项目,并且最初在babel-eslint遇到相同的错误。我遵循@ davidflyod91方法,对我有用。我不满意从〜目录中删除整个node_module文件夹(在我的MAC中)(我的意思是说-g模块的安装位置)。因此,我从〜/ node_modules目录中的node_modules中放回了node_modules和与以下文件夹关联的已删除文件夹,并尝试运行该应用程序(npm run start)。

  • Webpack
  • babel
  • 夹板
  • create-react-app

然后应用程序开始工作。

答案 10 :(得分:0)

您需要尝试 首先,创建一个名为.env的文件并存储SKIP_PREFLIGHT_CHECK = true

root / .env和.env应该包含SKIP_PREFLIGHT_CHECK = true

答案 11 :(得分:0)

  • 在package.json的依赖项中添加“ webpack”:“ 4.44.2”。
  • 创建.env并输入SKIP_PREFLIGHT_CHECK = true 那将解决您的问题。

答案 12 :(得分:0)

从用户目录(即C:\ Users \ User

)中删除node_modules。

答案 13 :(得分:0)

问题是当您进行所有项目时,计算机上的树文件夹存在,请尝试不存在该文件夹中的应用程序,我希望它可以正常工作

答案 14 :(得分:0)

在终端中,运行:

cd ~

然后:

ls

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

rm -rf node_modules

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

希望有帮助!

答案 15 :(得分:0)

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

  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. 检查 /home/omage/node_modules/webpack 是否在您的项目目录之外。 例如,您可能不小心在主文件夹中安装了某些东西。

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

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

修复依赖树的答案

要解决依赖树问题,您必须从本地计算机中删除 node-modules 文件并运行 npm start ,以启动 localhost

答案 16 :(得分:-1)

按照错误的说做使之起作用。
在项目目录中创建一个.env文件,然后添加SKIP_PREFLIGHT_CHECK=true,它将起作用。