node.js - React Native项目中npm install时package.json路径错误

标签 node.js npm npm-install package.json

我发现当我在 React Native 项目的根目录运行 npm install 时,它总是显示警告:

npm WARN enoent ENOENT: no such file or directory, open '/Users/chen/Documents/react-native/project/node_modules/node_modules/package.json'

但是我们知道package.json应该在node_modules文件夹下

这是我在项目根目录中的package.json

{
  "name": "project",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest",
    "bundle-ios": "node node_modules/react-native/local-cli/cli.js bundle --entry-file index.ios.js  --platform ios --dev false --bundle-output ./ios/bundle/index.ios.jsbundle --assets-dest ./ios/bundle"
  },
  "dependencies": {
    "react": "~15.4.0-rc.4",
    "react-native": "0.40.0",
    "react-native-elements": "^0.9.0",
    "react-native-scrollable-tab-view": "^0.7.0",
    "react-native-swiper": "^1.5.4",
    "react-native-vector-icons": "^4.0.0"
  },
  "devDependencies": {
    "babel-jest": "18.0.0",
    "babel-preset-react-native": "1.9.1",
    "jest": "18.1.0",
    "react-test-renderer": "~15.4.0-rc.4"
  },
  "jest": {
    "preset": "react-native"
  }
}

这个 json 一切正常,运行 npm install 后,库将追加到依赖项中。

并且在node_modules文件夹中还有另一个package.json,当我运行npm install时,这个json不会更新,错误说它指向node_modules/node_modules/package.json,当然不存在这个文件

{
  "dependencies": {
    "react-native-scrollable-tab-view": "^0.7.0",
    "react-native-swiper": "^1.5.4",
    "react-native-vector-icons": "^4.0.0",
    "react-native-elements": "^0.9.0"
  }
}

那么 npm install 是如何找到错误路径的呢?

最佳答案

package.json 模块应位于项目的 root 目录中。这是,如果您想安装项目的所有 npm 依赖项。

实际上,当您运行npm install时,它会搜索package.json文件,并安装该文件中写入的所有依赖项。因此,无论您在何处运行 npm install ,该目录中都应该有一个 package.json 文件。

因此,为了简单起见,我们将 package.json 文件保留在 project 的根目录下,以便 npm 一次性安装该项目所需的所有依赖项。

更新:

每个 Node 模块都有自己的package.json文件和node_modules文件夹,这就是它的工作方式。 package.json 包含该模块所需的所有依赖项,并且 node_modules 文件夹中将包含这些模块。同样,如果您再深入一层,您会发现另一个 package.json 文件。因此,所有此类 package.json 都包含该特定模块所需的依赖项。

尝试进入 node_modules 文件夹并探索它,您会更好地理解它。

关于node.js - React Native项目中npm install时package.json路径错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41498488/

相关文章:

node.js - Firebase函数从URL获取参数

npm - 通过 npm 在 Arch Linux 上安装 Polymer 时出现问题

node.js - npm 安装失败于 grpc@1.20.0 安装脚本失败

linux - 在 debian 上使用 npm 安装 Node 包失败

node.js - 错误 : Cannot find module './util/resolveCommand'

javascript - npm install -SE 带有次要版本符号

node.js - npm安装错误: Error: 404 Not Found: flatmap-stream@0. 1.2

javascript - 使用 Grunt 的 Node JS 项目,生成的 js 文件有 ReferenceError : window is not defined

node.js - 将express与需要数据的第二个div一起使用的正确方法是什么

javascript - @next 为 npm 指定了什么包版本?