Модуль Benchmark.js не может найти глобально в Nodejs - PullRequest
2 голосов
/ 18 декабря 2011

Если я установлю Benchmark.js локально с npm install benchmark, то все работает хорошо:

require("benchmark") > Object

Но когда я пытаюсь установить Benchmark глобально с флагом -g npm install benchmark -g, Nodejs не может найти модуль (сначала удалите локально установленный тест):

require("benchmark") > Error: Cannot find module 'benchmark'

Я пробовал под Windows и Linux оба. Те же результаты. Локально работает, глобально нет. Кто-нибудь может мне помочь ПОЧЕМУ?

Модуль mongodb работает глобально.

Ответы [ 2 ]

8 голосов
/ 21 декабря 2011

Вы можете сделать это, используя npm link. Например - экспресс - npm link express

npm install -g express
cd <your-application-development-path>
npm link express

Будет создана символическая ссылка с экспрессом

xxx@xxx:~/Programming/web/foo$ ls -lrt node_modules
total 12
drwxr-xr-x 2 xxxx xxxx 4096 2011-12-21 17:07 .bin/
lrwxrwxrwx 1 xxxx xxxx   38 2011-12-21 17:07 express -> ../../../node/lib/node_modules/express/
0 голосов
/ 03 августа 2013

Я думаю, что есть другой способ заставить его работать, когда вы устанавливаете модули глобально.Попробуйте установить переменную env export NODE_PATH=/usr/local/lib/node_modules

Тогда ваше «require» должно работать нормально.

...