我正在研究React Native项目并尝试将React Native paper添加到我的应用程序中。我的应用程序目前正在使用redux,但是当我尝试安装React Native Paper时,我遇到了构建错误。我在Mac上工作在iOS上。
我按照React Native Paper网站上的步骤进行了操作:https://callstack.github.io/react-native-paper/getting-started.html
在这些命令之后,我的应用程序无法构建,我得到一个“需要未知模块”1090“。如果您确定该模块在那里,请尝试重新启动Metro Bundler。您可能还想运行yarn
或npm install
(取决于您的环境)。”
我已经尝试过yarn / npm cache clean,watchmen del和重新运行yarn / npm install但是还没能通过它。
App.js(我删除了所有内容,只是尝试将其构建) -
import React from 'react';
import { View, Text } from 'react-native';
import { Provider } from 'react-redux';
import { Provider as PaperProvider } from 'react-native-paper';
export default class App extends React.Component {
render() {
return (
<PaperProvider>
<View>
<Text>Hello world</Text>
</View>
</PaperProvider>
);
}
}
这是终端中的消息:
GET /index.bundle?platform=ios&dev=true&minify=false HTTP/1.1" 200 - "-" "native/1 CFNetwork/975.0.3 Darwin/18.2.0"
Error: ENOENT: no such file or directory, open '/Users/peyton/Desktop/Projects/MoviePass/native/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js'
at Object.openSync (fs.js:448:3)
at Object.readFileSync (fs.js:348:35)
at Object.getSource (/Users/peyton/Desktop/Projects/MoviePass/native/node_modules/metro/src/DeltaBundler/Transformer.js:226:21)
at getModuleSource (/Users/peyton/Desktop/Projects/MoviePass/native/node_modules/metro/src/DeltaBundler/Serializers/helpers/getSourceMapInfo.js:59:17)
at getSourceMapInfo (/Users/peyton/Desktop/Projects/MoviePass/native/node_modules/metro/src/DeltaBundler/Serializers/helpers/getSourceMapInfo.js:50:42)
at _toConsumableArray.concat.filter.filter.map.module (/Users/peyton/Desktop/Projects/MoviePass/native/node_modules/metro/src/DeltaBundler/Serializers/sourceMapObject.js:52:7)
at Array.map (<anonymous>)
at fullSourceMapObject (/Users/peyton/Desktop/Projects/MoviePass/native/node_modules/metro/src/DeltaBundler/Serializers/sourceMapObject.js:51:6)
at /Users/peyton/Desktop/Projects/MoviePass/native/node_modules/metro/src/Server.js:1165:14
at Generator.next (<anonymous>)
::1 - - [04/Apr/2019:00:39:30 +0000] "POST /symbolicate HTTP/1.1" 500 - "-" "native/1 CFNetwork/975.0.3 Darwin/18.2.0"
Error: ENOENT: no such file or directory, open '/Users/peyton/Desktop/Projects/MoviePass/native/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js'
at Object.openSync (fs.js:448:3)
at Object.readFileSync (fs.js:348:35)
at Object.getSource (/Users/peyton/Desktop/Projects/MoviePass/native/node_modules/metro/src/DeltaBundler/Transformer.js:226:21)
at getModuleSource (/Users/peyton/Desktop/Projects/MoviePass/native/node_modules/metro/src/DeltaBundler/Serializers/helpers/getSourceMapInfo.js:59:17)
at getSourceMapInfo (/Users/peyton/Desktop/Projects/MoviePass/native/node_modules/metro/src/DeltaBundler/Serializers/helpers/getSourceMapInfo.js:50:42)
at _toConsumableArray.concat.filter.filter.map.module (/Users/peyton/Desktop/Projects/MoviePass/native/node_modules/metro/src/DeltaBundler/Serializers/sourceMapObject.js:52:7)
at Array.map (<anonymous>)
at fullSourceMapObject (/Users/peyton/Desktop/Projects/MoviePass/native/node_modules/metro/src/DeltaBundler/Serializers/sourceMapObject.js:51:6)
at /Users/peyton/Desktop/Projects/MoviePass/native/node_modules/metro/src/Server.js:1165:14
at Generator.next (<anonymous>)
并在iPhone预览中:
Requiring unknown module "1090".If you are sure the module is there, try restarting Metro Bundler. You may also want to run `yarn`, or `npm install` (depending on your environment).
loadModuleImplementation
index.bundle?platform=ios&dev=true&minify=false:224:31
<unknown>
index.bundle?platform=ios&dev=true&minify=false:170340:42
loadModuleImplementation
index.bundle?platform=ios&dev=true&minify=false:265:14
<unknown>
index.bundle?platform=ios&dev=true&minify=false:169329:37
loadModuleImplementation
index.bundle?platform=ios&dev=true&minify=false:265:14
<unknown>
index.bundle?platform=ios&dev=true&minify=false:163396:36
loadModuleImplementation
index.bundle?platform=ios&dev=true&minify=false:265:14
<unknown>
index.bundle?platform=ios&dev=true&minify=false:157171:40
loadModuleImplementation
index.bundle?platform=ios&dev=true&minify=false:265:14
<unknown>
index.bundle?platform=ios&dev=true&minify=false:157077:29
loadModuleImplementation
index.bundle?platform=ios&dev=true&minify=false:265:14
<unknown>
index.bundle?platform=ios&dev=true&minify=false:88467:38
loadModuleImplementation
index.bundle?platform=ios&dev=true&minify=false:265:14
<unknown>
index.bundle?platform=ios&dev=true&minify=false:1367:48
loadModuleImplementation
index.bundle?platform=ios&dev=true&minify=false:265:14
guardedLoadModule
index.bundle?platform=ios&dev=true&minify=false:153:47
global code
index.bundle?platform=ios&dev=true&minify=false:170659:4
谢谢你的帮助。
也许您只需要将react-native-paper与您的react-native项目链接起来。所以,试试这个命令,它可以解决你的问题。
react-native link react-native-paper
or just
react-native link