模拟器中的 React Native 运行 给出捆绑失败:权限被拒绝错误

React Native running in emulator gives bundling failed: permission denied error

我刚刚在 Manjaro Linux 上用 react-native init 创建了一个项目,并用 Android Studio 打开了它。然后我在终端上 运行 react-native start 然后 运行 现有模拟器上的应用程序打开到红色屏幕说明:

The development server returned response error code: 500
Metro Bundler has encountered an internal error, please check your terminal error output for more details

在我的终端 window 上,出现以下错误:

error: bundling failed: Error: EACCES: permission denied, open '/tmp/metro-cache/52/45f310fea946062ca0c3c6122dec6592f224f34ee755285a39fd0922f1d4c6739388c3'
    at Object.openSync (fs.js:443:3)
    at Object.writeFileSync (fs.js:1163:35)
    at FileStore.set (/home/user/ReactNativeProjects/albums/node_modules/metro-cache/src/stores/FileStore.js:43:8)
    at Cache.set (/home/user/ReactNativeProjects/albums/node_modules/metro-cache/src/Cache.js:96:31)
    at /home/user/ReactNativeProjects/albums/node_modules/metro/src/Bundler.js:287:13
    at Generator.next (<anonymous>)
    at step (/home/user/ReactNativeProjects/albums/node_modules/metro/src/Bundler.js:11:657)
    at /home/us/ReactNativeProjects/albums/node_modules/metro/src/Bundler.js:11:817
    at process._tickCallback (internal/process/next_tick.js:68:7)
 BUNDLE  [android, dev] ./index.js ░░░░░░░░░░░░░░░░ 0.0% (0/1), failed.

我检查了 /tmp/metro-cache/52 文件夹,但没有找到提到的文件。有谁知道可能导致此错误的原因是什么?请注意,当我使用 $ react-native run-android 在我的物理设备上 运行 时,我得到了同样的错误。

我解决了这个问题。

sudo chmod 777 /tmp/metro-cache
cd /tmp/metro-cache
sudo chown -R $USER .

实际上,我不确定哪个有效。大概chown就够了。