Как правильно связать с библиотекой 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