Solc --version: Befehl nicht gefunden

Ich versuche, Solc ohne Erfolg zu verwenden.

Ich lade solc mit herunter, npm install solcaber wenn ich solc --versiondie Konsolenausgabe ausführe, lautet sie:

command not found.

Wenn ich Pakete aufliste npm list, kann ich sehen solc@0.3.5.

Was ist los?

Antworten (7)

Sie sollten solc zu PATH hinzufügen. Geben Sie which solc ein , um den Speicherort abzurufen, an dem der Solidity-Compiler installiert ist, und fügen Sie dies zu PATH hinzu. Wenn Sie nur die Version überprüfen möchten, navigieren Sie zu dem Ort, an dem Solidity installiert ist, und geben Sie dann den Befehl solc --version ein .

keine ausgabe mit dem solc versuche ich auch npm install -g solc
Welches Ergebnis haben Sie für den Befehl which solc erhalten ?
nichts pippo-MacBook-Pro:~ pippo$ was solc pippo-MacBook-Pro:~ pippo$
Probieren Sie dies aus und prüfen Sie, ob es funktioniert.
Jetzt scheint es ok zu sein. Ich lade cpp-ethereum end in geth console set for admin.setSolc() herunter , dessen Ausgabe solc . Solc erfordert also immer cpp-ethereum, ist es nicht eigenständig?
Solidity benötigt keinen Ethereum-Client. Eine eigenständige Version kann installiert werden, um Smart Contracts zu entwickeln und zu testen. Aber es ist eine eingebaute Funktion in den offiziellen Ethereum-Clients. Überprüfen Sie dies für weitere Details.
Ok, aber mit npm install solc ** --version** gibt nichts aus, was solc auch, warum? Tks für die Antwort
Das ist keine gute Antwort. Es geht nicht darauf ein, warum npm install solckein globales solcTool installiert wird oder wie stattdessen ein Compiler installiert wird.

Wenn Sie durch installiert habennpm install -g solc

So verwenden Sie es.solcjs --version

sagt nicht, was falsch ist, dh ohne -g wird der Befehl nicht im Pfad des Benutzers installiert. Die andere Lösung besteht darin, dass der Benutzer seinen Pfad aktualisiert. Das ist wirklich ein npm-Problem ...
Irgendwie nervig... Kann ich meine 15 Minuten zurück haben? Sicherlich installieren solcund dann ausführen solcjs... Bitte.

Installieren Sie den Solc-Compiler mit

npm install -g solc

Es installiert den Compiler im globalen Bereich und kann von jedem Ort aus verwendet werden.

Um die Version des installierten Compilers zu überprüfen

solcjs --version

ist so etwas wie "0.4.23+commit.124ca40d.Emscripten.clang" zurück

Weitere Einzelheiten finden Sie hier .

npm install solcinstalliert derzeit keinen global verfügbaren Compiler. Das solcnpm-Paket sind nur Javascript-Bindungen, die in einem Javascript-Modul verwendet werden.

Nachdem ich selbst einige Zeit damit gekämpft habe, scheint es derzeit keine bequeme Möglichkeit zu geben, einen eigenständigen Solidity-Compiler zu installieren, zumindest unter Mac OS X.

Als Erweiterung von @graup habe ich solc aus meinem Vertragsverzeichnis jedes neuen Vertragsprojekts neu installiert, was für mich funktioniert hat:

cd contracts
npm install solc
npm install ethereumjs-testrpc web3@0.20.1

node

Web3 = require('web3')
web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));

code = fs.readFileSync('MyContrat.sol').toString()
solc = require('solc')
compileCode = solc.compile(code)

npm i solc@version

Mit diesem Befehl können Sie die Installation Ihrer gewünschten Solidity-Version durchführen.

Mach einfach:

solcjs --version

Und selbst beim Kompilieren tun Solcjs.