Nodejs 中无法全局找到 Benchmark.js 模块

发布于 2024-12-22 00:25:31 字数 526 浏览 3 评论 0原文

如果我使用 npm install benchmark 在本地安装 Benchmark.js ,那么一切都会很好:

require("benchmark") > Object

但是当我尝试使用 -g 标志 npm install benchmark -g 全局安装 Benchmark,Nodejs 找不到模块(首先删除本地安装的 benchmark):

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

我在 Windows 和 Linux 下都尝试过。结果相同。 在本地工作,在全球范围内不工作。有人可以帮助我为什么吗?

mongodb 模块在全球范围内工作。

If I install Benchmark.js locally with npm install benchmark than everything works good:

require("benchmark") > Object

But when I try to install Benchmark globally with -g flag npm install benchmark -g, Nodejs cannot find the module (remove first the locally installed benchmark):

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

I tryed under Windows and Linux both. The same results. Locally work, globally not. Can anyone help me WHY?

The mongodb module works globally.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

我的鱼塘能养鲲 2024-12-29 00:25:31

您可以使用 npm link 来完成此操作。例如 -express - npm linkexpress

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

将创建链接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/

You can do it using npm link. For example - express - npm link express

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

A symbolic will be created linking 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/
坐在坟头思考人生 2024-12-29 00:25:31

我认为当您全局安装模块时,还有另一种方法可以使其工作。
尝试设置环境变量 export NODE_PATH=/usr/local/lib/node_modules

那么你的“require”应该可以正常工作。

I think there is another way to make it work when you install modules globally.
Try to set env variable export NODE_PATH=/usr/local/lib/node_modules

Then your "require" should work fine.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文