node.js:找不到模块'request'
我安装了请求模块 ,并得到错误:
module.js:340 throw err; ^ Error: Cannot find module 'request'
我读过关于这个错误的所有post,并明白,这是因为模块请求不是全局find,但我已经尝试了2个build议
npm安装请求-g
应该这样安装在/ usr / loca / bin? 因为我没有看到它。
和
sudo npm链接
/ usr / local / lib / node_modules / request – > / Users / soulsonic / dev / sandbox / node_test / request
每个命令后我重新启动terminal,但不断收到找不到模块错误。
更新
在我的初始目录中一定有某种冲突,因为“npm install request”没有在node_modules(其他10个内部)中添加“request”..在切换到刚刚工作的新目录之后。
如果我用-g开关运行它,我确实看到它安装到/ usr / local / lib / node_modules / request。
似乎我只需要更新我的个人资料,以便上面的path自动添加。
转到您的项目的目录
mkdir TestProject cd TestProject
使这个目录成为你的项目的根(这将创build一个默认的package.json
文件)
npm init --yes
安装所需的npm模块并将其保存为项目依赖项(它将显示在package.json
)
npm install request --save
使用包示例中的代码在项目目录中创build一个test.js
文件
var request = require('request'); request('http://www.google.com', function (error, response, body) { if (!error && response.statusCode == 200) { console.log(body); // Print the google web page. } });
你的项目目录应该像这样
TestProject/ - node_modules/ - package.json - test.js
现在只需在您的项目目录中运行节点
node test.js
您应该简单地在您的项目中本地安装request
。
只需cd
到包含您的js文件的文件夹并运行即可
npm install request
我有同样的问题,对我来说npm install request --save
解决了这个问题。 希望能帮助到你。
我遇到了同样的问题,这里是我如何工作..
开放式terminal:
mkdir testExpress cd testExpress npm install request
要么
sudo npm install -g request // If you would like to globally install.
现在不要使用
节点app.js
或节点test.js
,你会遇到这个问题。 您也可以使用此命令打印正在导致的问题。 "node -p app.js"
上面的命令启动nodeJs已被弃用。 反而使用
npm start
你应该看到这个..
testExpress@0.0.0 start /Users/{username}/testExpress node ./bin/www
打开你的网页浏览器并检查localhost:3000
您应该看到快速安装(欢迎使用Express)
我遇到了同样的问题,因为我在全球安装它,然后我尝试在本地安装它,它工作。
如果某个模块找不到,请尝试使用Static URI,例如:
var Mustache = require("/media/fabio/Datos/Express/2_required_a_module/node_modules/mustache/mustache.js");
这个例子在64位的Ubuntu Gnome 16.04上运行,node -v:v4.2.6,npm:3.5.2参考: Ben Nadel的博客