我在试着用块菌测试坚固的代码。由于从(或发送给)契约返回的数字值是BigNumber的值,所以我想要求库。我目前的测试是一条龙的:
let BigNumber = require('bignumber.js');叫hello_test.js。
如果我运行npm ls -g | grep bignumber,我可以看到+-- bignumber.js@7.2.1,因此它已经安装;但是如果我尝试:
truffle.cmd test .\test\hello_test.js我得到了Error: Cannot find module 'bignumber.js'。
到底怎么回事?
松露版本4.0.6,npm版本5.6.0
发布于 2018-06-13 06:32:21
这就是节点所需的工作方式:require('xx')将搜索
./node_modules/xx.js
./node_modules/xx/index.js
./node_modules/xx/package.json如果它找不到,它将继续搜索环境变量,NODE_PATH。如果没有指定,则不会搜索任何全局模块。
这样你就可以检查你的NODE_PATH了。
发布于 2018-06-08 11:07:27
我不知道为什么,但是在本地安装bignumber.js包确实有好处:
C:\project\> npm install bignumber.js
+ bignumber.js@7.2.1
added 1 package and moved 1 package in 4.222s
C:\project\> truffle.cmd test .\test\hello_test.js
0 passing (2 ms)bignumber.js包现在同时出现在npm ls -g和npm ls中(当从项目根dir运行时)。
https://stackoverflow.com/questions/50748416
复制相似问题