解決 pod install 時 RealmJS 安裝過慢的問題

問題根因

眾所周知的網(wǎng)絡(luò)原因, 安裝 realm JS 時候需要下載 realm-sync-cocoa-5.0.0-beta.0.tar.gz 包。(注意:版本號可能會有變化)

解決思路

在 node_modules 下找到 realm , 并查看 RealmeJS.podspec 文件。
可以看到在 prepare_command 中運行了如下腳本:

node ./scripts/download-realm.js ios --sync

打開命令行工具入理 term2 。進入node_modules/realm直接運行此命令。
可以看到需要下載的包地址。 通過下載地址,直接在瀏覽器中下載。(需要使用眾所周知的方法)
下載好后,修改./scripts/download-realm.js文件的 acquire 方法。 跳過下載步驟,直接將 syncPath 指向下載包的存放地址。 例如:

function acquire(desired, target) {
    const corePath = desired.CORE_ARCHIVE && path.resolve(getTempDir(), desired.CORE_ARCHIVE);
    // const syncPath = desired.SYNC_ARCHIVE && path.resolve(getTempDir(), desired.SYNC_ARCHIVE);
    const syncPath = desired.SYNC_ARCHIVE && path.resolve("/Users/USER_NAME/Downloads", desired.SYNC_ARCHIVE);
    console.info('syncPath==>', syncPath, desired.SYNC_ARCHIVE, getTempDir());

    return fs.emptyDir(target)
        .then(() => corePath && download(desired.CORE_SERVER_FOLDER, desired.CORE_ARCHIVE, corePath))
        .then(() => corePath && extract(corePath, target, desired.CORE_ARCHIVE_ROOT))
        // .then(() => syncPath && download(desired.SYNC_SERVER_FOLDER, desired.SYNC_ARCHIVE, syncPath))
        .then(() => syncPath && extract(syncPath, target, desired.SYNC_ARCHIVE_ROOT))
        .then(() => writeLockfile(target, desired))
}

USER_NAME 需要替換成正確的名字,如不知道可以 cd ~ && pwd 查看

設(shè)置好以上代碼后,在項目的 ios 文件夾下運行 pod install 就可以順利安裝 RealmJS 了。

同類問題

使用yarn命令后,會導(dǎo)致realm 包恢復(fù)到初始狀態(tài)。可以按著以上步驟進行修復(fù)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容