如果我使用npm install benchmark
在本地安装Benchmark.js,那么一切正常:
require("benchmark") > Object
但是当我尝试使用-g
标志npm install benchmark -g
全局安装Benchmark时,Nodejs找不到该模块(首先删除本地安装的基准测试版):
require("benchmark") > Error: Cannot find module 'benchmark'
我在Windows和Linux下都尝试过。结果相同。 本地工作,全球范围内没有。任何人都可以帮助我为什么?
mongodb模块全局工作。
答案 0 :(得分:8)
您可以使用npm link
执行此操作。例如 - express - 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/
答案 1 :(得分:0)
我认为在全局安装模块时还有另一种方法可以使它工作。
尝试设置env变量export NODE_PATH=/usr/local/lib/node_modules
然后你的“要求”应该可以正常工作。