Zwei Probleme beim Installieren von web3.js durch und Aufrufen von web3.eth.methods

Zuerst installiere ich den Code wie npm install web3im Terminal, während das erste Problem auftritt ( Environment1 ). Zweitens ändere ich die Version von nodenpm(wie Envirnment 1 => Environment2 ) und tippe auf denselben Code npm install web3ist OK (Version von web3ist 0.20 .6 ). Zuletzt, als ich web3.eth.methods in meinem Projekt ( Environment2 ) aufrufe, habe ich festgestellt, dass das zweite Problem auftritt, das this.web3definiert ist, aber das this.web3.eth.methodsist undefiniert, obwohl ich die Umgebung 2 über npm install web3oder konfiguriere yarn add web3.

Umgebung1 System:Ubuntu16.04; Knoten:8.9.0; npm:5.6.0;

Problem 1, da das Problem wie folgt beschrieben wird: /.npm/_cache/tmp/git-clone-da91fc96/.git:Permission deniedGeben Sie hier die Bildbeschreibung ein

Umgebung2- System:Ubuntu16.04; Knoten: 6.11.0; npm: 3.11.0; web3: 0.20.6;

Ausgabe 2 als Gefährte Ich tippe in den Code wie console.log( this.web3) in project und teste über das Entwicklertool in Google, das Bild als Gefährte:

Geben Sie hier die Bildbeschreibung ein

Ich rufe den Vertrag auf, indem ich var Contract = new this.web3.eth.contract(artifacts.abi,'contract_address');den Vertrag im Projekt drucke und über das Entwicklertool in Google teste, das Bild als Gefährte:

Geben Sie hier die Bildbeschreibung ein

Und ich rufe eine Methode wie getValue()is undefined auf und tippe in die Codeanzeige, dass console.log(window.escrowContract.methods);die Methoden undefined als Fellow angezeigt werden:

Geben Sie hier die Bildbeschreibung ein

Ich weiß nicht, ob die Beziehung zwischen zwei Problemen besteht, und ich schaue einige Artikel und Tutorials durch, ihre Methoden funktionieren bei mir nicht. Und ich kenne die Version von web3 unter der Version1 ( https://web3js.readthedocs.io/ en/1.0/web3-eth.html ) , sollte die Methode zum Aufrufen des Vertrags var Contract = new this.web3.eth.Contract(artifacts.abi,'contract_address');lauten .Cc

Geben Sie hier die Bildbeschreibung ein

Was ist die Methode kann es lösen?

Ich habe dieses Problem durch zwei Codes gelöst: 1.npm cache clear --force 2.npm install web3
Erklärung meiner Meinung nach als Kollege: Zuerst tritt das erste Problem auf, weil der Cache von npm in meinem Computer gefüllt ist, bevor ich den Cache von npm lösche, führe ich das npm install web3 im Stammverzeichnis aus. Danach tritt das Problem auf install web3 ist OK.
Sencond, bevor ich 'npm install web3' betätige, installiere ich immer web3 über 'yarn add web3', aber nach vollständiger Installation tritt Issue2 auf. Ich habe das Gefühl, dass die Installation von web3 durch Garn unausgegoren ist. Von da an tippe ich wie gesagt auf zwei Codes, die beiden Probleme treten nicht auf. Diese Erklärung stellt nur meine Meinung dar, ich hoffe, sie ist nützlich für Sie.

Antworten (1)

Ich habe dieses Problem durch zwei Codes als Gefährte gelöst: 1. npm cache clear --force2.npm install web3

Erklärung meiner Meinung nach als Kollege: Erstens tritt das erste Problem auf, weil der Cache npmin meinem Computer gefüllt ist. Bevor ich den Cache lösche npm, bediene ich das npm install web3Problem im Stammverzeichnis. Nachdem ich das getan habe, npm install web3ist das in Ordnung. Sencond, bevor ich operiere 'npm install web3', installiere ich immer web3 durch 'yarn add web3', aber nach vollständiger Installation tritt Issue2 auf. Ich habe das Gefühl, dass die Installation von web3 durch Garn unausgegoren ist. Von da an tippe ich wie gesagt auf zwei Codes, die beiden Probleme treten nicht auf. Diese Erklärung stellt nur meine Meinung dar, ich hoffe, sie ist nützlich für Sie.