node.js:找不到模块'request'

时间:2013-05-10 12:46:02

标签: linux node.js terminal npm

我安装了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。

似乎我只需要更新我的个人资料,以便自动添加上述路径。

8 个答案:

答案 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.*

谢谢。