npm http GET https://registry.npmjs.org/formidable
npm http GET https://registry.npmjs.org/formidable
npm http GET https://registry.npmjs.org/formidable
npm ERR! Error: connect ETIMEDOUT
npm ERR! at errnoException (net.js:769:11)
npm ERR! at Object.afterConnect [as oncomplete] (net.js:760:19)
npm ERR! If you need help, you may report this log at:
npm ERR! http://github.com/isaacs/npm/issues
npm ERR! or email it to:
npm ERR! npm-@googlegroups.com
在网上搜索后发现是因为公司有防火墙,而且设置了http_proxy的代理。
有帖子提供的解决办法是:
依次执行set http_proxy=http://……
set http_proxy_user=username
set http_proxy_password=password
其中username与password分别为自己账户的用户名与密码。
但这样设置后,执行npm install formidable命令依然报connect ETIMEDOUT错误。
最后的解决办法是:
直接去github下载formidable模块(地址:https://github.com/felixge/node-formidable)
将下载后的压缩包node-formidable-master.zip解压后放在D:\Program Files\nodejs\node_modules\formidable目录下(D:\Program Files\nodejs是安装nodejs的路径,formidable是新建的文件夹)。
现在我们就可以用formidable模块了——使用外部模块与内部模块类似,用require语句将其引入即可:
var formidable = require("formidable");
需要注意的是:
想要能引用到formidable,必须把你的项目放在nodejs的安装目录下,否则会出现下面的错误:
将项目放在nodejs的安装目录下后,运行node命令,成功打印出“start”:
其实只要将项目与node_moduleswe文件夹路径保持一致即可,如项目nodebeginner的路径为E:\nodejs\nodebeginner,解压formidable后将压缩后的内容存放在E:\nodejs\node_modules\formidable中,也是可以的: