React native npm安装后自动响应本机更新第三方

React native npm安装后自动响应本机更新第三方,react-native,react-native-android,react-native-ios,React Native,React Native Android,React Native Ios,我对react native是个新手。 npm安装后是否可以为第三方库自动设置正确的sdk版本或其他内容?因为有时候当我把项目搞砸了,代码无法回滚时,我会删除它并从git克隆项目。但这就是问题所在,因为android library sdk版本和ios library搜索路径不正确,我需要自己更正它们 将postinstall添加到package.json脚本中。这将在安装运行后自动运行: “postinstall”:“/edit_modules.sh”, 并在项目根目录中创建一个edit_mo

我对react native是个新手。
npm安装后是否可以为第三方库自动设置正确的sdk版本或其他内容?因为有时候当我把项目搞砸了,代码无法回滚时,我会删除它并从git克隆项目。但这就是问题所在,因为android library sdk版本和ios library搜索路径不正确,我需要自己更正它们

postinstall
添加到package.json脚本中。这将在安装运行后自动运行:

“postinstall”:“/edit_modules.sh”,

并在项目根目录中创建一个
edit_modules.sh
文件。大概是这样的:

#!/bin/bash
if [[ "$OSTYPE" == "darwin"* ]]; then
    SED_CMD="sed -i ''"
else
    SED_CMD="sed -i"
fi

$SED_CMD 's/<pattern to find>/<replace with>/' <path to file relative to root>

您可以在npm中添加postinstall脚本,并创建一个bash脚本,在其中用awk或sedi替换路径。将脚本更改为“postinstall”:“sh./edit_modules.sh”并添加“config”:{“unsafe perm”:true}。然后运行sudonpm安装——不安全的perm,对我来说是可行的。但是原始文件名被更改为{build.gradle'},并且新文件被创建为{build.gradle},对吗?不对。使用bash脚本创建文件。设置文件的权限:
sudo chmod+x yourfile.sh
。然后尝试使用
bash yourfile.sh执行它。如果它在未经许可的情况下运行,则为“确定”。如果没有,则使用+X(大写字母X)或
sudo chmod 775尝试chmod。现在还不确定,它可能与linux/mac/win发行版不同。如果要检查根项目目录中commnad terminal中运行的文件的权限
ls-la | grep yourfile.sh
,在左侧,您应该看到
-rwxr-xr-x
,如果存在x 3次,则表示任何人都可以执行。然后尝试运行安装。它不应该创建一个新的gradle文件,它应该只编辑
sed
中定义的行。我已经按照您的指示,为文件sudo chmod 775 edit_modules.sh设置权限,现在权限是-rwxrwxr-x,它也可以工作,但仍然创建新的gradle文件o回到根本问题,您有第三方模块,使用本机ios和android,但安装后添加到project的路径是错误的。这些模块的源代码的路径。您需要手动编辑构建文件,将错误路径替换为正确路径。我说得对吗?
$SED_CMD 's/#import <fishhook\/fishhook.h>/#import "fishhook.h"/' ./node_modules/react-native/Libraries/WebSocket/RCTReconnectingWebSocket.m