如何配置 SublimeLinter-contrib-rustc 以找到“活塞”板条箱?
Posted
技术标签:
【中文标题】如何配置 SublimeLinter-contrib-rustc 以找到“活塞”板条箱?【英文标题】:How do I configure SublimeLinter-contrib-rustc to find the "piston" crate? 【发布时间】:2015-10-01 03:33:00 【问题描述】:我正在用 Piston 构建一个 Rust 游戏,我正在尝试使用 SublimeLinter Rust package。当我打开 .rs 游戏文件时,出现以下 linter 错误:
extern crate piston; // linter error: "can't find crate for 'piston'"
如果我检查 Sublime 控制台,我可以看到 linter 正在寻找 rustc:
SublimeLinter: rust activated: /usr/local/bin/rustc
我在控制台中没有看到任何明显的错误消息。我在 Cargo.toml 中将活塞列为依赖项,并且我能够成功 cargo run
。
我是一个完整的 Rust 和 SublimeLinter 新手。
无论我先导入哪个导入,我都会遇到类似的错误;例如,如果我将extern crate graphics;
移动到文件中的第一行,我会收到错误“找不到'graphics' 的板条箱”。
编辑:事实证明启用“使用货物”设置解决了这个问题。我在项目根目录中添加了一个“.sublimelinterrc”文件,其中包含以下内容:
"linters":
"rust":
"use-crate-root": true,
"use-cargo": true
【问题讨论】:
有趣,我也遇到了这个问题,但启用use-cargo
为我解决了这个问题。您是否尝试过设置 crate root 和 use-crate-root 设置?
【参考方案1】:
我无法重现您的错误。但是,我将列出我所做的似乎有效的事情。也许你会看到我们分歧的一步,这会给你一个提示。
我安装了Sublime Text 3。我选择了stable频道,build 3083。我installed Package Control,然后三个包:
-
SublimeLinter (3.5.1)
SublimeLinter-contrib-rustc (1.3.5)
生锈 (2015.05.28.16.43.21)
我重新启动了 Sublime Text 并打开了我的一个项目,该项目使用 Cargo 并依赖于其他包。我打开了控制台(ctrl-`)和enabled debug mode,在下次Sublime重启时生效。
因为我有非标准的 Rust 安装,我看到 Sublime 由于缺少动态库而无法运行rustc
。然后我关闭了 Sublime,并从我的终端打开它:open /Applications/Sublime\ Text.app/Contents/MacOS/Sublime\ Text
。这使用了我的 shell 设置的环境变量。
我看到 linter 抱怨我的库没有main
方法,所以我enabled the use-cargo
option。
SublimeLinter: rust output:
error: main function not found
error: aborting due to previous error
更改use-cargo
设置后,我在代码中造成了故意的语法错误,并看到它被突出显示。然后我将 extern crate
行中的 crate 命名错误,并看到它被突出显示。
在任何时候寻找板条箱似乎都没有问题。我可以看出 cargo
正在通过控制台使用:
SublimeLinter: rust output:
Updating registry `https://github.com/rust-lang/crates.io-index`
Downloading rand v0.3.9
...
【讨论】:
谢谢!原来我没有正确启用“使用货物”设置。以上是关于如何配置 SublimeLinter-contrib-rustc 以找到“活塞”板条箱?的主要内容,如果未能解决你的问题,请参考以下文章