Programmieren – die besten Beiträge

LLVM-sys will nicht funktionieren?

Servus

Ich sitz seid stunden daran LLVM-sys für Rust zum laufen zu bekommen. Irgendwas mach ich falsch aber ich weiss nichts was.

Ich nutze MacOS Ventura

Als allerstes wie in den Docs vorgeschlagen habe ich llvmenv genutzt um llvm 13.0.0 zuinstallieren. Danach sagten die, dass man die ENV variable mit dem name "LLVM_SYS_160_PREFIX" auf den wert setzen den man bekommt wenn man llvmenv prefix eingibt

Also was ich getan habe:

$ llvmenv prefix
/Users/mainUser/Library/Application Support/llvmenv/13.0.0

Dann hab ich zuerst wie vorgeschalgen in den Docs folgenden command verwendet:

$ export LLVM_SYS_160_PREFIX=/Users/mainUser/Library/Application Support/llvmenv/13.0.0
export: not valid in this context: Support/llvmenv/13.0.0

Wodurch ich einen fehler bekommen habe, da logischerweise keine whitespaces im Path zugelassen sind. Darum habbe ich den teil mit dem Application Support in anführungzeichen gesetzt:

 $ export LLVM_SYS_160_PREFIX=/Users/mainUser/Library/"Application Support"/llvmenv/13.0.0

und dann keine response mehr bekommen. So hab ich angenommen, dass es funktioniert was es natürlich nicht tat.

error: No suitable version of LLVM was found system-wide or pointed
              to by LLVM_SYS_160_PREFIX.
       
              Consider using `llvmenv` to compile an appropriate copy of LLVM, and
              refer to the llvm-sys documentation for more information.
       
              llvm-sys: https://crates.io/crates/llvm-sys
              llvmenv: https://crates.io/crates/llvmenv
   --> /Users/mainUser/.cargo/registry/src/github.com-1ecc6299db9ec823/llvm-sys-160.0.2/src/lib.rs:490:1
    |
490 | / std::compile_error!(concat!(
491 | |     "No suitable version of LLVM was found system-wide or pointed
492 | |        to by LLVM_SYS_",
493 | |     env!("CARGO_PKG_VERSION_MAJOR"),
...   |
500 | |        llvmenv: https://crates.io/crates/llvmenv"
501 | | ));
    | |__^
 

Nachdem ich dann printenv genutzt habe musste ich feststellen, dass das Value nicht gespeichert war. Danach nutze ich eine Methode die ich im Internet fand bei dem man direkt in ~/.zshrc reinschreib und dann mit source speichert. Nachdem ich diese Methode verwendet habe und printenv in einem anderen Terminal genutzt habe konnte ich tatsächlich den Wert finden.

$ printenv | grep "LLVM_SYS_160_PREFIX"
LLVM_SYS_160_PREFIX=/Users/mainUser/Library/Application Support/llvmenv/13.0.0

Ich dachte es funktioniert alles. Leider nicht gleicher fehler wie zuvor. Dann wurde mir gesagt ich soll mit cargo clean aufräumen und erneut builden. Hab ich gemacht funktioniert nicht.

Meine frage:

Was mach ich falsch? Was überseh ich?

Cargo.toml:

[package]
name = "jc"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
llvm-sys = "160.0.2"

Danke

Programm, programmieren, Entwicklung, Rust

Wie kann ich diesen HTML Vorgang stoppen?

Ich würde gerne einen HTML-Vorgang stoppen, wenn eine Voraussetzung in Java Skript nicht erfüllt ist:

Ich arbeite mit formsubmit.co und kann auf meiner Webseite nicht mit PHP arbeiten. Bis jetzt habe folgenden Code:

<form action="https://formsubmit.co/email@gutefrage.de" method="post" onsubmit="validateEmail()">
    <input type="hidden" name="_autoresponse" value=
    "Hallo, du hast diese Email bekommen. " />
    <input type="hidden" name="_next" value="https://www.gutefrage.net/" /> 
    <input type="email" id="email" name="email" placeholder="Email Address" /> 
    <label class="container"><input type="checkbox" required/>Ich habe die Nutzungsbedinungen gelesen.</label> 
    <button type="submit">Send</button>
</form>


<script>
/* <![CDATA[ */
      function validateEmail() {
        const email = document.getElementById("email").value;
        if (email.includes("200") && email.includes("Frage") && email.length >= 20) {
          alert("Valid email address.");
          return true;
        } else {
          alert("Invalid email address.");
          return false;
        }
      }
/*]]>*/
</script>

Das Skript überprüft die Eingabe der E-Mail Adresse, sofern alle Felder eingegeben sind und das Formular abgesendet wurde, ob die eingegebene E-Mail-Adresse "100", "Frage" und grösser oder gleich 20 Zeichen lang ist. Auf einer Nachricht im Browser wird angezeigt, ob die E-Mail-Adresse den Voraussetzungen entspricht oder nicht. Anschließend wird die Nachricht "Hallo, du hast diese E-Mail bekommen." an die eingegebene E-Mail-Adresse gesendet (das übernimmt formsubmit.co). Anschließend wird der Nutzer auf Gute Frage weitergeleitet.

Beides Funktioniert einwandfrei, jedoch wird, egal ob die E-Mail die Voraussetzungen erfüllt oder nicht, an die angegebene E-Mail gesendet.

Meine Frage ist, ob ich die Aktion in HTML irgendwie stoppen kann, also das die E-Mail nicht versendet wird, wenn sie die Voraussetzungen in JavaScript nicht erfüllt. Dabei kann ich keine riesigen Änderungen am gegebenen HTML-Code von formsubmit unternehmen (da dies ja immer noch funktionieren sollte) und ohne PHP oder ähnliches.

Edit: Das mit der Erkennung funktioniert irgendwie auch nicht, es zeigt immer an, dass die Email die Voraussetzungen nicht erfüllt. Ich habe jedoch ein Beispiel, wo dies funktioniert:

<form onsubmit="return validateEmail()" method="post">
    <label for="email">Email:</label> <input type="email" id="email" name="email" placeholder="z.B. ichbincool@email.com" size="40" required="" /> <input type="submit" value="senden" required="" />
</form>
<script>
/* <![CDATA[ */
      function validateEmail() {
        const email = document.getElementById("email").value;
        if (email.includes("ich") && email.includes("cool") && email.length >= 5) {
          alert("Valid email address.");
          return true;
        } else {
          alert("Invalid email address.");
          return false;
        }
      }
/*]]>*/
</script>   
HTML, Webseite, programmieren, JavaScript, Programmiersprache, Webentwicklung, Webseitenoptimierung

Meistgelesene Beiträge zum Thema Programmieren