Node.js找不到已安装的模块

Arc*_*cia 2 javascript node.js npm

在将我的node.js应用程序部署到另一台PC(在开发机器上运行完美)并手动安装所有依赖项之后,当我尝试执行它时出现此错误:

    C:\Users\myself>node app.js
module.js:340
    throw err;
    ^

Error: Cannot find module 'xmlhttprequest'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (c:\Keystroke\node_modules\socket.io\node_modules\socket.io-client\node_modules\engine.io-client\lib\transports\index.js:5:22)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (c:\Keystroke\node_modules\socket.io\node_modules\socket.io-client\node_modules\engine.io-client\lib\socket.js:5:18)
Run Code Online (Sandbox Code Playgroud)

但是,如果我跑

npm ls -g
Run Code Online (Sandbox Code Playgroud)

它返回全局安装的模块列表,它包含xmlhttprequest.那为什么我的应用程序无法找到它?我究竟做错了什么?

edd*_*yjs 13

该模块可能也需要在本地安装.

你有一个package.json文件吗?如果是,请运行:

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

在你的repo目录下次,所以当你的交换机,你可以运行npm install以检索所有的依赖项.

在计算机上全局安装时,某些依赖项无用.