0

我已经克隆了 git 存储库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

4

1 回答 1

1

您还需要从项目目录链接库。文档
中的一个示例:

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

在您的情况下,第一个包目录是curve25519git repo,如果我正确理解您的问题,您需要在项目目录中运行的行是npm link curve25519

于 2014-05-08T13:17:26.943 回答