我安装了request module,并收到错误:
module.js:340
throw err;
^
Error: Cannot find module 'request'
我已阅读有关此错误的所有帖子,并了解这是因为模块请求未在全球范围内找到,但我已经尝试了2条建议
npm install request -g
应该将它安装在/ usr / loca / bin中吗?因为我没有在那里看到它。
和
sudo npm link
/ usr / local / lib / node_modules / request - > /用户/ soulsonic的/ dev /沙箱/ node_test /请求
我在每个命令后重新启动终端,但不断发现无法找到模块错误。
更新
我的初始目录中肯定存在某种冲突,因为“npm install request”没有在node_modules下添加“request”(其中有10个其他)。 切换到新目录后,它只是工作。
如果我用-g开关运行它,我确实看到它安装到/ usr / local / lib / node_modules / request。
似乎我只需要更新我的个人资料,以便自动添加上述路径。
答案 0 :(得分:131)
转到项目目录
mkdir TestProject
cd TestProject
将此目录设为项目的根目录(这将创建默认的package.json
文件)
npm init --yes
安装必需的npm模块并将其另存为项目依赖项(它将显示在package.json
)
npm install request --save
使用包示例
中的代码在项目目录中创建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
答案 1 :(得分:27)
您只需在项目中安装request
本地即可。
只需cd
到包含js文件的文件夹并运行
npm install request
答案 2 :(得分:10)
我有同样的问题,对我来说npm install request --save
解决了这个问题。希望它有所帮助。
答案 3 :(得分:0)
我遇到了同样的问题,这就是我如何运作..
打开终端:
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)
答案 4 :(得分:0)
我遇到了与全局安装相同的问题,然后我尝试在本地安装它,它可以工作。
答案 5 :(得分:0)
如果您找不到某个模块,请尝试使用静态URI,例如:
var Mustache = require("/media/fabio/Datos/Express/2_required_a_module/node_modules/mustache/mustache.js");
此示例在64位的Ubuntu Gnome 16.04上运行,节点-v:v4.2.6,npm:3.5.2 请参阅:Blog of Ben Nadel
答案 6 :(得分:0)
ReferenceError:找不到变量:require。
您已经安装了“ npm”,可以正常运行脚本到“ localhost”“ 127.0.0.1”。
在“ npm”中将http.clientRequest()与“ options”一起使用时,需要在模块内部安装“ RequireJS”。
模块是Node_modules目录中可由节点加载的任何文件或目录。 安装“ RequiereJS”以使http.clientRequest(options)工作。
答案 7 :(得分:0)
我尝试在本地安装带有版本的模块,并且有效!
npm install request@^2.*
谢谢。