Ich versuche, Solc ohne Erfolg zu verwenden.
Ich lade solc mit herunter, npm install solc
aber wenn ich solc --version
die Konsolenausgabe ausführe, lautet sie:
command not found.
Wenn ich Pakete aufliste npm list
, kann ich sehen solc@0.3.5
.
Was ist los?
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 .
npm install solc
kein globales solc
Tool installiert wird oder wie stattdessen ein Compiler installiert wird.Wenn Sie durch installiert habennpm install -g solc
So verwenden Sie es.solcjs --version
solc
und 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 solc
installiert derzeit keinen global verfügbaren Compiler. Das solc
npm-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.
Galahad