Как правильно связать с библиотекой nodejs curve25519

Я клонировал 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

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

В вашем случае первый каталог пакета - это curve25519 git repo и если я правильно понял ваш вопрос, строка, которую вам нужно запустить в каталоге вашего проекта: npm link curve25519

Другие вопросы по тегам