2015-07-12 9 views
10

Ich baue ein Rust Spiel mit Piston und ich versuche das SublimeLinter Rust package zu verwenden. Wenn ich meine .rs Spiel-Dateien zu öffnen, erhalte ich diese Linter Fehler:Wie konfiguriere ich SublimeLinter-contrib-rustc, um die "Kolben" -Kiste zu finden?

extern crate piston; // linter error: "can't find crate for 'piston'" 

Wenn ich die Sublime Konsole überprüfen, kann ich sehen, dass die Linter rustc findet:

SublimeLinter: rust activated: /usr/local/bin/rustc 

ich nicht erkennbare Fehlermeldungen in der Konsole. Ich habe Kolben als Abhängigkeit in meiner Cargo.toml gelistet und kann cargo run erfolgreich abschließen.

Ich bin ein kompletter Rust & SublimeLinter Neuling.

Ich bekomme einen ähnlichen Fehler für welchen Import ich zuerst legte; zum Beispiel, wenn ich extern crate graphics; verschieben, um die erste Zeile in der Datei zu sein, bekomme ich den Fehler "kann Kiste für 'Grafiken' nicht finden".

BEARBEITEN: Stellt sich heraus das Aktivieren der "Use-Cargo" -Einstellung das Problem behoben. Ich habe eine „.sublimelinterrc“ Datei auf meinen Projektstamm mit diesen Inhalten:

{ 
    "linters": { 
    "rust": { 
     "use-crate-root": true, 
     "use-cargo": true 
    } 
    } 
} 
+1

Interessant, ich war auch dieses Problem, jedoch ermöglicht 'verwendungs ​​cargo' es für mich fixiert. Hast du versucht, die Einstellungen für die Kistenwurzel und die Benutzungskistenwurzel zu setzen? –

Antwort

3

Ich habe nicht in der Lage gewesen, Ihre Fehler zu reproduzieren. Ich werde jedoch auflisten, was ich getan habe, das zu funktionieren schien. Vielleicht sehen Sie einen Schritt, in dem wir uns voneinander entfernen, und das gibt Ihnen einen Hinweis darauf, wo Sie suchen müssen.

I installiert Erhabene Text 3. Ich den stabilen Kanal gewählt, 3083 I installed Package Control und dann drei Pakete aufzubauen:

  1. SublimeLinter (3.5.1)
  2. Erhabene Linter-Contrib-rustc (1.3.5)
  3. Rust (2015.05.28.16.43.21)

ich neu gestartet Sublime Text und öffnete ein Projekt von mir, die Fracht verwendet und hängt von anderen Paketen. Ich öffnete die Konsole (ctrl - `) und enabled debug mode, die beim nächsten Sublime Neustart wirksam wird.

Da ich nicht-Standard-Installation von Rust habe, sah ich, dass Sublime rustc aufgrund fehlender dynamischer Bibliotheken nicht ausführen konnte. Ich schloss dann Sublime und öffnete es von meinem Terminal: open /Applications/Sublime\ Text.app/Contents/MacOS/Sublime\ Text. Dies verwendet meine Umgebungsvariablen, die von meiner Shell gesetzt werden.

Ich sah, dass der Linter beschwerte, dass meine Bibliothek keine main Methode hatte, also ich enabled the use-cargo option.

SublimeLinter: rust output: 
error: main function not found 
error: aborting due to previous error 

Nach der use-cargo Einstellung ändern, verursachte ich einen bewussten Syntaxfehler in meinem Code und sah, dass es markiert wurde. Ich habe dann die Kiste in der extern crate Zeile falsch benannt und sah, dass sie hervorgehoben wurde.

Zu keinem Zeitpunkt schien es ein Problem zu geben, Kisten zu finden.Ich könnte sagen, dass cargo wurde über die Konsole verwendet:

SublimeLinter: rust output: 
    Updating registry `https://github.com/rust-lang/crates.io-index` 
Downloading rand v0.3.9 
... 
+1

Danke! Es stellte sich heraus, dass ich die Einstellung "Use-Cargo" nicht richtig aktiviert habe. – Daryl

Verwandte Themen