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

Son*_*oul 77 linux terminal node.js npm

我安装了请求模块,并收到错误:

module.js:340
    throw err;
          ^
Error: Cannot find module 'request'
Run Code Online (Sandbox Code Playgroud)

我已阅读有关此错误的所有帖子,并了解这是因为模块请求未在全球范围内找到,但我已经尝试了2条建议

npm安装请求-g

应该将它安装在/ usr/loca/bin中吗?因为我没有在那里看到它.

sudo npm链接

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

我在每个命令后重新启动终端,但不断发现无法找到模块错误.

更新

在我的初始目录中肯定存在某种冲突,因为"npm安装请求"没有在node_modules下添加"请求"(其中还有10个其他)..在切换到新目录后它才刚刚起作用.

如果我用-g开关运行它,我确实看到它安装到/ usr/local/lib/node_modules/request.

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

glu*_*kki 148

转到项目目录

mkdir TestProject
cd TestProject
Run Code Online (Sandbox Code Playgroud)

将此目录设为项目的根目录(这将创建默认package.json文件)

npm init --yes
Run Code Online (Sandbox Code Playgroud)

安装所需的npm模块并将其另存为项目依赖项(它将出现在package.json)

npm install request --save
Run Code Online (Sandbox Code Playgroud)

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.
  }
});
Run Code Online (Sandbox Code Playgroud)

您的项目目录应如下所示

TestProject/
- node_modules/
- package.json
- test.js
Run Code Online (Sandbox Code Playgroud)

现在只需在项目目录中运行节点

node test.js
Run Code Online (Sandbox Code Playgroud)


SLa*_*aks 30

您只需在项目中request 本地安装即可.

只是cd到包含你的js文件的文件夹并运行

npm install request
Run Code Online (Sandbox Code Playgroud)


rus*_*ust 12

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