Ios rn nodeify为React Native

Ios rn nodeify为React Native,ios,react-native,cryptography,Ios,React Native,Cryptography,复制步骤: create react native app proj&&cd proj&&npm i 正在安装使用加密的包。执行下列步骤: 收到了react native link failure的警告,但是在以下黑客加密依赖性不再是问题之后: npm i --save-dev tradle/rn-nodeify ./node_modules/.bin/rn-nodeify --hack --install 在App.js中添加import./shim.js' 纱线运行ios 遇到这样的问题:

复制步骤:

create react native app proj&&cd proj&&npm i

正在安装使用加密的包。执行下列步骤:

收到了react native link failure的警告,但是在以下黑客加密依赖性不再是问题之后:

npm i --save-dev tradle/rn-nodeify
./node_modules/.bin/rn-nodeify --hack --install
在App.js中添加
import./shim.js'

纱线运行ios

遇到这样的问题:

undefined不是对象(正在计算“RNRandomBytes.seed”)

由于某些使用的包限制,我无法更新npm和节点

MacOS 10.12、Node 8.0.0、npm 5.0

编辑:

RNRandomBytes初始化为
让RNRandomBytes=require('react-native')。NativeModules.RNRandomBytes

init
是从twitter导入的react native crypto导入的react native randombytes中访问RNRandomBytes的第一个位置

EDIT2:通过
react native init创建项目后
链接阶段成功完成:

rnpm-install info Linking react-native-randombytes android dependency 
rnpm-install info Android module react-native-randombytes has been successfully linked 
rnpm-install info Linking react-native-randombytes ios dependency 
rnpm-install info iOS module react-native-randombytes has been successfully linked 
import./shim.js'
对于此示例项目,它位于index.js而不是App.js中


但是错误是相同的

没有定义
RNRandomBytes
变量,因为它应该由本机模块导出,而您尚未链接该模块

react native link
步骤失败,因为您已使用基于Expo的
create react native app
初始化项目,并且不允许链接自定义本机依赖项

如果要使用此库(或具有本机依赖项的其他React本机库),则需要从Expo应用程序中弹出,或使用
React Native init
初始化项目


您可以在此处阅读有关
create react native app
react native init
之间区别的更多信息:。

感谢您的详细解释!现在我将检查它是否对我有效。我已经用
react native init
(链接不再失败)创建了一个示例项目,并将shim.js添加到index.js中,但错误仍然存在。你有什么建议吗?更新。我在另一台mac电脑上试了试,它成功了。看来这一次的节点安装被破坏了。再次感谢你,我真的很感激!我也面临同样的错误,但我想在我的机器上解决它,因为我没有其他机器
rnpm-install info Linking react-native-randombytes android dependency 
rnpm-install info Android module react-native-randombytes has been successfully linked 
rnpm-install info Linking react-native-randombytes ios dependency 
rnpm-install info iOS module react-native-randombytes has been successfully linked