我试着学习一点js和solidity,并买了一门udemy课程。我的坏。制作它的人让课程过时了,不再有人支持或回答问题。。。
无论如何,当我尝试用摩卡测试我的代码时,我得到了这个错误:
Error: Cannot find module './build/Release/scrypt'
错误日志:
0 info it worked if it ends with ok
1 verbose cli [
1 verbose cli 'C:\Program Files\nodejs\node.exe',
1 verbose cli 'C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js',
1 verbose cli 'run',
1 verbose cli 'test'
1 verbose cli ]
2 info using npm@6.14.8
3 info using node@v14.15.1
4 verbose run-script [ 'pretest', 'test', 'posttest' ]
5 info lifecycle udem@1.0.0~pretest: udem@1.0.0
6 info lifecycle udem@1.0.0~test: udem@1.0.0
7 verbose lifecycle udem@1.0.0~test: unsafe-perm in lifecycle true
8 verbose lifecycle udem@1.0.0~test: PATH: C:Program Filesnodejsnode_modulesnpmnode_modulesnpm-lifecyclenode-gyp-bin;C:UsersUserstuffsoludemnode_modules.bin;C:Python39Scripts;C:Python39;C:Program Files (x86)Common FilesOracleJavajavapath;C:Windowssystem32;C:Windows;C:WindowsSystem32Wbem;C:WindowsSystem32WindowsPowerShellv1.0;C:WindowsSystem32OpenSSH;C:Program FilesAcer ProShield;C:Program FilesAcer ProShieldx86;C:Program FilesGitcmd;C:Program FilesPuTTY;C:Program FilesPostgreSQL10bin;C:Program Filesnodejs;C:ProgramDatachocolateybin;C:UsersUser.windows-build-toolspython27;C:Program FilesPythonScripts;C:Program FilesPython;C:UsersUserAppDataLocalMicrosoftWindowsApps;C:UsersUserAppDataLocalProgramsMicrosoft VS Codebin;C:UsersUserDesktopAllesProggenInstagrammBOT;C:UsersUserAppDataRoamingnpm
9 verbose lifecycle udem@1.0.0~test: CWD: C:UsersUserstuffsoludem
10 silly lifecycle udem@1.0.0~test: Args: [ '/d /s /c', 'mocha' ]
11 silly lifecycle udem@1.0.0~test: Returned: code: 1 signal: null
12 info lifecycle udem@1.0.0~test: Failed to exec test script
13 verbose stack Error: udem@1.0.0 test: `mocha`
13 verbose stack Exit status 1
13 verbose stack at EventEmitter.<anonymous> (C:Program Filesnodejsnode_modulesnpmnode_modulesnpm-lifecycleindex.js:332:16)
13 verbose stack at EventEmitter.emit (events.js:315:20)
13 verbose stack at ChildProcess.<anonymous> (C:Program Filesnodejsnode_modulesnpmnode_modulesnpm-lifecyclelibspawn.js:55:14)
13 verbose stack at ChildProcess.emit (events.js:315:20)
13 verbose stack at maybeClose (internal/child_process.js:1048:16)
13 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:288:5)
14 verbose pkgid udem@1.0.0
15 verbose cwd C:UsersUserstuffsoludem
16 verbose Windows_NT 10.0.18363
17 verbose argv "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js" "run" "test"
18 verbose node v14.15.1
19 verbose npm v6.14.8
20 error code ELIFECYCLE
21 error errno 1
22 error udem@1.0.0 test: `mocha`
22 error Exit status 1
23 error Failed at the udem@1.0.0 test script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]
这就是代码:
const assert = require('assert');
const ganache = require ('ganache-cli');
const Web3 = require('web3');
const web3 = Web3(ganache.provider);
class Car {
park() {
return 'stopped';
}
drive() {
return 'vroom';
}
}
describe('CarTest (just a string)', ()=> {
it('can park (just a string)',() =>{
const car = new Car();
assert.equal(car.park(), 'stopped');
});
});
是的,我是js和solidity的新手,所以我不知道。。。希望有人能帮忙。
这个错误可以很容易地解决。转到node_modules/scrypt/tests/index.js,或者如果测试文件夹不存在,则只在>node_module/scrypt文件夹中搜索index.js,然后将此行var scryptNative = require(“./build/Release/scrypt”)
更改为此行var scryptNative = require("scrypt")
。和繁荣。我希望这肯定会对你有所帮助
还有一个建议您的tests.js文件在.producter之后缺少圆括号
使用这条线路const web3 = new Web3(ganache.provider());