前言
现在很多小型公司因为人力问题,很喜欢追求跨端开发、跨平台应用,这使得很多前端工程师不得不身兼多职。由于原生工程师的知识短时间不能速成,很多前端工程师选择采取跨端技术,本文属于 React Native 的问题。React Native 将原生开发的最佳部分与 React 相结合, 无缝集成到你已有的 Android 或 iOS 项目,致力于成为构建用户界面的顶尖 JavaScript 框架。
设备问题
- React Native 的版本比较多,防止版本冲突,先执行一下以下命令防止冲突,此命令的作用是:检测项目依赖中的漏洞并自动安装需要更新的有漏洞的依赖,而不必再自己进行跟踪和修复
npm audit fix
或
yarn add audit fix
权限问题
- 是个隐藏得比较深的问题,曾经让我花费了大量的时间,折磨了一晚上,重装了各种依赖包的坑,最后发现跳错坑了,意想不到竟然是本地文件权限的问题
(node:1437) UnhandledPromiseRejectionWarning: Error: spawnSync /Users/dengli/Desktop/new/Ddhv2/node_modules/react-native/local-cli/setup_env.sh EACCES
at Object.spawnSync (internal/child_process.js:1019:20)
at spawnSync (child_process.js:624:24)
at Object.execFileSync (child_process.js:652:15)
at Object.run (/Users/dengli/Desktop/new/Ddhv2/node_modules/react-native/local-cli/cliEntry.js:146:16)
(node:1437) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:1437) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
最后救赎我的就只有这一句话
chmod -R 777 node_modules
彻底服了哈。。。
要是还是运行不了,就重装一下
yarn add audit