我已经克隆了git repository https://github.com/thejh/node-curve25519,然后在其中使用了npm link
。我以建议的方式使用此库:var curve = require('curve25519');
。但是我在这个片段的curve.makeSecretKey()
行上收到了这个错误:
temp.secret = crypto.randomBytes(32);
curve.makeSecretKey(temp.secret);
这是错误消息:
/Users/username/Workspaces/nodejs/myproject/server.js:59
curve.makeSecretKey(ctx.private);
^
TypeError: Object #<Object> has no method 'makeSecretKey'
at handlers.(anonymous function) (/Users/username/Workspaces/nodejs/myprojet/server.js:59:8)
at Socket.<anonymous> (/Users/username/Workspaces/nodejs/myproject/server.js:198:3)
at Socket.EventEmitter.emit (events.js:98:17)
at UDP.onMessage (dgram.js:440:8)
我做错了什么?该库应包含此类方法。如您所见:https://github.com/thejh/node-curve25519/blob/master/index.js
答案 0 :(得分:1)
您还需要链接项目目录中的库 docs:
中的一个示例cd ~/projects/node-redis # go into the package directory
npm link # creates global link
cd ~/projects/node-bloggy # go into some other package directory.
npm link redis # link-install the package
在您的情况下,第一个包目录是curve25519
git repo,如果我正确理解您的问题,您需要在项目目录中运行的行是npm link curve25519