100

I installed request module, and getting the error:

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

i've read all the posts about this error, and understand that this is because module requests is not globally found, but i've already tried the 2 suggestions

npm install request -g

should this install it in /usr/loca/bin ? because i don't see it there.

and

sudo npm link

/usr/local/lib/node_modules/request -> /Users/soulsonic/dev/sandbox/node_test/request

i restarted terminal after each command, but keep getting the cannot find module error.

update

there must have been some sort of conflict in my initial directory, because "npm install request" was not adding "request" under node_modules (there 10 others in there) .. after switching to a new directory it just worked.

if i run it with -g switch, i do see it bing installed to /usr/local/lib/node_modules/request.

it seems that i just need to update my profile so that above path is automatically added.

4

8 回答 8

193

转到您的项目目录

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

node test.js
于 2013-05-10T13:11:53.890 回答
36

您应该简单地在项目中request 本地安装。

只需cd到包含您的 js 文件的文件夹并运行

npm install request
于 2013-05-10T12:47:37.853 回答
17

我有同样的问题,我npm install request --save 解决了这个问题。 希望能帮助到你。

于 2017-07-07T17:58:00.597 回答
2

我在全局安装它时遇到了同样的问题,然后我尝试在本地安装它,它可以工作。

于 2016-02-04T05:23:22.800 回答
1

我遇到了同样的问题,这就是我的工作方式..

打开终端:

mkdir testExpress
cd testExpress
npm install request

或者

sudo npm install -g request // If you would like to globally install.

现在不要使用

nodeapp.js或 node test.js,这样做你会遇到这个问题。您还可以使用此命令打印导致的问题。"node -p app.js"

上述启动 nodeJs 的命令已被弃用。而是使用

npm start

你应该看到这个。。

testExpress@0.0.0 start /Users/{username}/testExpress
node ./bin/www

打开您的网络浏览器并检查 localhost:3000

您应该会看到 Express install (Welcome to Express)

于 2014-10-14T04:21:23.317 回答
1

如果您找不到某些模块,请尝试使用静态 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 的博客

于 2016-10-20T18:32:35.633 回答
0

ReferenceError:找不到变量:需要。

您已经安装了“npm”,您可以正常运行脚本到“localhost”“127.0.0.1”。

当您在“npm”中使用带有“options”的 http.clientRequest() 时,您需要在模块内安装“RequireJS”。

模块是 node_modules 目录中可以由节点加载的任何文件或目录。安装“RequiereJS”以使 http.clientRequest(options) 工作。

于 2020-01-24T15:37:21.360 回答
0

我尝试使用版本在本地安装模块并且它有效!

npm install request@^2.*

谢谢。

于 2020-04-23T17:46:13.460 回答