运行npm install命令时出现ENOENT:没有这样的文件或目录

33

当我运行npm install时,我遇到了以下错误:

npm WARN tar ENOENT: no such file or directory, open 'D:\Live Project\insyte-mobile\insyte-mobile\node_modules.staging\core-js-c9f4d03d\library\fn\symbol\unscopables.js'

这是错误的截图: Error screenshot

这是我的package.json:

{
  "name": "tonight-mobile",
  "version": "0.1.0",
  "private": true,
  "devDependencies": {
    "jest-expo": "~27.0.0",
    "react-test-renderer": "16.3.1"
  },
  "main": "node_modules/expo/AppEntry.js",
  "scripts": {
    "start": "expo start",
    "eject": "expo eject",
    "initial-android": "npm install && npm run android",
    "initial-ios": "npm install && npm run ios",
    "android": "expo start --android",
    "ios": "expo start --ios",
    "test": "jest",
    "postinstall": "rm ./node_modules/react-native/local-cli/core/__fixtures__/files/package.json"
  },
  "jest": {
    "preset": "jest-expo"
  },
  "dependencies": {
    "axios": "^0.18.0",
    "expo": "^32.0.0",
    "expo-image-picker": "^5.0.2",
    "firebase": "^5.7.1",
    "firebase-admin": "^8.5.0",
    "firebase-functions": "^3.2.0",
    "react": "16.5.0",
    "react-native": "https://github.com/expo/react-native/archive/sdk-32.0.0.tar.gz",
    "react-native-firebase": "^5.1.1",
    "react-native-image-crop-picker": "^0.21.3",
    "react-native-image-picker-form": "^0.2.5",
    "react-native-maps": "^0.21.0",
    "react-native-responsive-image": "^2.3.1",
    "react-native-swiper": "^1.5.14",
    "react-native-vector-icons": "^5.0.0",
    "react-navigation": "^2.13.0",
    "react-navigation-tabs": "^1.0.2",
    "react-redux": "^5.0.7",
    "redux": "^4.0.0",
    "redux-persist": "^5.10.0",
    "redux-persist-filesystem-storage": "^1.3.2",
    "redux-thunk": "^2.3.0",
    "tcomb-form-native": "^0.6.20"
  }
}

以上是package.json文件。

我还使用了该项目的另一段代码,但这次出现以下错误:

enter image description here


4
你确定你在跟存放 package.json 文件同一目录下吗? - el solo lobo
1
是的。我确定。 - Rakesh kushwaha
请贴出完整的错误信息和 package.json 文件。 - el solo lobo
这只是一个警告,它会影响实际的构建/安装结果吗?如果有影响,是怎样的影响? - AndreasPizsa
1
请不要在以后贴屏幕截图。这样会破坏你的问题,只需复制并粘贴文本即可。我已经向上游开发人员报告了一个错误来跟踪此问题,我的答案将跟踪上游开发人员提供的答案。 - Evan Carroll
显示剩余3条评论
11个回答

28

首先删除 package-lock.json 文件,然后尝试使用 npm install


11

删除 node_modules 文件夹和 package-lock.json 文件,然后运行 npm install


3
出现了相同的问题。 - Rakesh kushwaha
尝试将项目移动到没有空格的路径中:“D:\Live Project" -> "D:\Projects"。如果这样做没有帮助,请在执行“npm install”命令的项目文件夹上运行ls -la - Egizas
好的,我会尝试这个。 - Rakesh kushwaha

4

你只需要:

  • 在你的电脑根目录下打开终端并运行以下命令:

    killall node

  • 在重新启动新的Metro Bundler之前,请使用yarn或者npm重新安装依赖项:

    npm i 或者 yarn

还有这篇文章:ENOENT:没有该文件或目录


2
请按照以下步骤操作:
  1. 删除 node_modules 文件夹和 package-lock.json 文件
  2. 运行以下命令:npm cache clean -force
  3. 然后运行以下命令:npm install(如果问题还未解决,请尝试第四步)
  4. 运行以下命令:npm install -g npm,然后运行 npm install
  5. 最后运行以下命令:npm start

对我来说没用 :( - Victor Cui

0
请检查您当前的工作目录。如果您使用以下命令创建项目: npx react-native init demo
然后,请在终端中导航到项目内部,使用以下命令: cd demo npm install
将安装所有npm模块,并且您还可以在目录demo/node_modules中检查已安装的软件包。
另外,如果项目是基于expo的,则运行以下命令以退出expo: run expo eject

我是React Native的新手,您能否请告诉我如何检查使用npx或expo创建的项目? - Rakesh kushwaha
请访问https://facebook.github.io/react-native/docs/getting-started以获取有关React Native的详细信息。 创建新应用程序: npx react-native init AwesomeProject cd AwesomeProject npx react-native run-ios - Prabhunath Yadav

0

检查节点版本,如果应用程序是使用较旧的节点版本构建的,则可以使用NVM(节点版本管理器)降级本地环境节点版本。


0

针对此错误的简单解决方案:

"npm WARN tar ENOENT: 没有这样的文件或目录

不仅适用于ENOENT,如果npm模块中的所有文件都显示此类错误。

  1. 进入命令提示符
  2. 检查npm版本(npm -v
  3. 如果它给出了一个版本,则输入命令npm init并按照提示操作
  4. 完成所有步骤后,再次尝试创建一个Angular项目。 它将在节点模块中无错误地创建。

0

在我找到的所有在线资源中,“解决方案”实际上都不是真正的解决方案

我按照以下步骤进行操作。

  1. 删除 package-lock.json 可行,但这是一个非常脆弱的变通方法,因为 package-lock.json 是一个重要的文件,不应该需要删除。

  2. 执行以下命令

rm -rf node_modules && npm cache clean --force

  1. 现在运行 npm i

-1

npm ERR!代码 ENOENT npm ERR!系统调用 open npm ERR!路径 E:\ Projects \ package.json npm ERR!错误号 -4058 npm ERR!enoent ENOENT:找不到文件或目录,打开'E:\ Projects \ package.json' npm ERR!enoent 这与npm无法找到文件有关。

解决方案 ==> 检查根目录,您可能在根目录外部或已打开错误的文件夹路径


-2

我怀疑您的电脑上没有安装git。如果您在日志底部看到此错误,那么这一点尤其正确:

npm ERR! syscall spawn git

如果是这样,那么您需要从这里安装git: https://git-scm.com/downloads
我曾经和你一样遇到了同样的问题,但一旦我安装了git,问题就消失了。

1
这不是一个论坛 - 回答应该是回答,而不是对话或问题。 - charliefortune
我遇到了同样的问题,原因是缺少 git。虽然这个答案可以更好地表述,但它确实帮助了我很多! - Fabien Quatravaux
这本来应该是一条评论,但我没有权限进行评论,所以不得不提交一个答案 @charliefortune。 - ocm

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