1

我正在尝试安装节点包,但我的网络不允许我连接。我得到了标准,

npm ERR! network getaddrinfo ENOTFOUND

我知道这是因为我在公司网络上。但是,我对代理不是很熟悉,据我所知,我无法使用代理,所以我不确定如何在 NPM 方面取得进展。任何对此有帮助和相关的想法都会受到热烈欢迎!

作为一种解决方法,使用我的另一台机器,我已经通过电子邮件向自己发送了我需要的节点模块。这些节点模块是使用 NPM 安装的,而不是在公司网络上。

但是,尽管我已将模块放在 node_modules/ 旁边的 test_server.js 文件中,但我仍然收到,

C:\Users\JT15900\Documents\nodeServer>node test_server.js

module.js:340
    throw err;
          ^
Error: Cannot find module 'knex' ... etc.

需要明确的是,test_server.js 与 node_modules/ 位于同一目录中。在 node_modules/ 中,我放置了各种模块文件夹,例如“express”和“knex”等。

为什么我的节点脚本无法找到这些模块以及如何更正它?

编辑

我使用超级用户的帖子来帮助发现我的代理设置。然后,我配置了 Node NPM 代理设置,如其他地方所述并在解决方案中介绍。

4

2 回答 2

7

这帮助了我http://jjasonclark.com/how-to-setup-node-behind-web-proxy

如果公司网络有代理,您可以使用这些命令在 npm 中设置它

npm config set proxy http://proxy.company.com:8080
npm config set https-proxy http://proxy.company.com:8080

抱歉,如果您已经尝试过或者它不起作用。

于 2013-08-01T14:04:07.250 回答
0

这对我发布设置代理有用-

使用以下命令将注册表更改为 https 版本

npm config set registry https://registry.npmjs.org/

于 2018-07-20T08:49:21.100 回答