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

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

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

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

因为公司有防火墙,只准许你看网页、查资料,但是不准许开发工具(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

分享给朋友:

相关文章

抖音和快手最大的区别是什么?

1、目标人群定位不同抖音:一二线城市,占比52%,大专学历以上,女性偏多。抖音以年轻群体居多。 快手:三四线城市,占比64%,高中学历以下,男女更均衡。快手所覆盖的年龄段范围更广。 2、内容创作的形式和深度不同抖音:偏深层,内容的装饰及表达…

为什么扫码支付在中国流行,在发达国家被排斥?

因为这是一种落后的技术。 卖菜的大爷花5毛钱就可以打印出一张二维码来接受付款。 你觉着这种先进么?跟先进完全不沾边的。正是因为不先进,所以才能流行。 卖菜大爷用不起一台先进的、具有NFC感应功能的、还能刷各种银行卡的收款机。 这就是现实。…

大家都是怎么把自己的粉丝增加到1000的呢?

大家都是怎么把自己的粉丝增加到1000的呢?

截至2024年10月30日,关注者总数1137人,用时80天,增速约14人/天。 2024年8月10日开始创作,连续一周,1个关注者都没有。创作第7天,得到第一个关注,7天时间,写了8篇回答。当天得到关注,激动的心情历历在目。 没有一个…

有哪些让你目瞪口呆的 Bug ?

有哪些让你目瞪口呆的 Bug ?

成都有个监狱情况比较特殊,关押的基本全是重犯,而且还都是经济犯和政治犯, 他们以前都是一方大佬,在自己的一亩三分地翻手为云覆手为雨,无非是不小心中箭落马或帮老大顶锅才进监狱, 所以即使进来了,他们依然保持着体面和骄傲,依从性差,虽然不至于和…

鸿蒙系统到底是不是安卓系统?

你好,是的。 接下来我给不懂技术的人简单的说一下哄蒙系统的来龙去脉。 首先你要知道什么是开源。 ‌‌开源 (Open Source)全称为开放源代码‌,意味着任何人都可以获取和使用软件的源代码,并在遵守版权协议的前提下进行修改和再发布。‌1…

如何评价小米14这款手机?

如何评价小米14这款手机?

本来小米 14 和 14 Pro 是打算放一起拆的,但是因为时间关系,实在凑不到一起了。所以今天给大家补一篇详细的图文拆解,基本信息都有了,如有遗漏可以在评论区留言。 双卡上下放置,卡托材质为金属 + 塑料,内侧有防尘防水的胶圈。…

发表评论

访客

看不清,换一张

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