当前位置:首页 > 每日看点

Rust是不是没办法离线开发?

卡卷网2年前 (2024-11-30)每日看点299

我们开发团队遇到过类似的问题:

因为公司有防火墙,只准许你看网页、查资料,但是不准许开发工具(vscode)联网......
我们从别处构建了一个包含所有 Cargo 依赖项的 docker 镜像,然后部署到这个 “没网” 的开发环境中。
结果使用 vscode 的时候,报 rust-analyzer failed to load workspace: xxxx

除了这种从一开始就没网的,还有一种情况:

有网时一切正常,一但断网(甚至网络不好,比如在地铁、高铁上),这时运行 rust-analyzer 的时候就会报 Failed to run "cargo"、"metadata"......
具体报错记不清了,大致如此吧。

当时查了一些资料,因为比较久远了,所以只能给你提供一些思路和关键字:

rust-analyzer 本身不需要联网,但它在加载 workspace 的时候会要求 cargo 提供 metadata,而 cargo 默认需要从 registry server 上下载 crates,你过不了 cargo check,那就啥也干不成......

这时,你可以自己搞个 crates mirror,可以参考这篇:Dissecting Crates.io: Bare Minimum Mirror

Rust是不是没办法离线开发?  第1张

构建一个最低限度的镜像

或者弄一套 local-registry,可以参考这个:GitHub - dhovart/cargo-local-registry: A cargo subcommand to manage local registries

Rust是不是没办法离线开发?  第2张

重定向到本地存储的 registry

再不济,直接 hack 掉 Cargo.lock,可以参考这个:github.com/oconnor663/d

Rust是不是没办法离线开发?  第3张

我们当时的方法是:

  1. 在终端中执行 cargo check --all-targets --offline(细心的话,你会发现上面那个 hack 方法的作者在注释里也提到了);
  2. 或者在 .cargo/config.toml 中添加 offline:

Rust是不是没办法离线开发?  第4张

很多细节记不清了,后来我也没参与过 rust 项目,所以仅供参考。

理论上,方法总是比困难多的,别灰心~

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2024/11/2114.html

分享给朋友:

相关文章

我爸讽刺我,写个破代码一年才十几万,他在工地带50个人,让我回去跟他干,写代码没出路,我该怎么选择?

我跟你一样的情况,本人现身说法,千万不要跟你爸干,我就是反面教材,现在想回去都回不去了,快十年没写代码了,再就是岁数大了,38岁了,35岁以上的码农根本就没公司愿意要,而且会受歧视。 工程不好干,首先就是不合法,在法律层面,根本就没有包工头…

你为什么讨厌抖音?

我就被抖音毁了。 现在被我媳妇从抖音里拯救出来了。 我为什么会这样说? 我媳妇硕士在读,我文化程度相对就比较低了。 大多数人看抖音其实就是为了一图一乐呵 刚开始我也是这样的,我是2017年在朋友的推荐下注册了抖音,刚开始那时候对抖音不太上瘾…

为什么有人觉得华为mate60只值2000?

为什么有人觉得华为mate60只值2000?

你以为买Mate60的人真的傻?真的那么爱国? 国庆前,我家那傻子加价800多买了一台Mate60,当时还被我骂他是傻子。 可是他说一回到公司就被老板同事朋友看到,拿去反复查看,都在惊叹他这么快就买到新机。 跟亲戚朋友聚会,别人一看就知道他…

自己拥有一台服务器可以做哪些很酷的事情?

自己拥有一台服务器可以做哪些很酷的事情?

我就有一台,跑了两年了,ipv6 ddns 网络,加虚拟化平台.跑了个 winserver 和 ubuntu 服务器。 稳的雅皮! 拆掉后盖,散热更好。烟盒固定硬盘。键盘防止灰尘掉落。电池拆掉,屏幕拆掉,也是散热考虑。 屏幕拿去做便携副屏了…

客观的讲,华为是不是真的遥遥领先?

客观的讲,华为是不是真的遥遥领先?

最近,华为上市了最新款的三折叠屏手机,于是很多大V们把这款手机吹上了天,吹成是技术上遥遥领先于全世界。谁要是敢质疑华而不实,就会被人扣上一顶汉奸卖国贼美狗的帽子。把一个商品捧成了宗教和菩萨,你只能说好,不能说不好。其实这个世界上,只要是人和…

测试用例是怎么写的?

测试用例是怎么写的?

测试用例对于测试人员而言,虽说是最最基础的技能,但却非常重要。测试用例是支撑我们在测试道路上进一步学习其他测试技能的基本功。 那测试用例如何撰写,完整来说应该包含两部分内容: 内容1: 测试用例撰写(按照八大要素); 内容2: 测试用例(测…

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。