— 安装 —
1.安装react-devtools时报错:
Error: EACCES: permission denied, mkdtemp '/usr/local/lib/node_modules/react-devtools/node_modules/electron/electron-download-VcLLBk'
npm WARN ws@7.4.4 requires a peer of bufferutil@^4.0.1 but none is installed. You must install peer dependencies yourself.
npm WARN ws@7.4.4 requires a peer of utf-8-validate@^5.0.2 but none is installed. You must install peer dependencies yourself.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! electron@9.4.4 postinstall: `node install.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the electron@9.4.4 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/rong/.npm/_logs/2021-03-24T02_33_58_372Z-debug.log
解决方法:
sudo npm install -g react-devtools --unsafe-perm=true
解释:
官方文档 https://docs.npmjs.com/misc/c...
就是说 npm 出于安全考虑不支持以 root 用户运行,即使你用 root 用户身份运行了,npm 会自动转成一个叫 nobody 的用户来运行,而这个用户几乎没有任何权限。这样的话如果你脚本里有一些需要权限的操作,比如写文件(尤其是写 /root/.node-gyp),就会崩掉了。
为了避免这种情况,要么按照 npm 的规矩来,专门建一个用于运行 npm 的高权限用户;要么加 --unsafe-perm 参数,这样就不会切换到 nobody 上,运行时是哪个用户就是哪个用户,即使是 root。
</article>
— 二 — 报错
Unable to load script.Make sure you're either running a metro server or that
解决方法:
1.创建android/app/src/main/assets文件夹
2.执行命令
react-native bundle --platform android --dev false --entry-file index.android.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
(可能出现以下报错)
index.android.js` was not found
原因以及解决方法:
是react native更新的一些变动。原来工程中会创建:index.ios.js 和index.android.js,现在只会创建index.js。一个简单的规避方法,就是copy 一份index.js 文件命名为index.android.js即可
网友评论