将我的 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)
但是如果我跑
npm ls -g
它返回全局安装的模块列表,它包括 xmlhttprequest。那为什么我的app找不到呢?我做错了什么?
最佳答案
该模块可能还需要为项目本地安装。
你有 package.json 文件吗?如果是这样,运行:
npm install --save xmlhttprequest
下次在您的 repo 目录中,这样当您切换机器时,您可以运行 npm install
来检索所有依赖项。
某些依赖项在机器上全局安装时没有用。
关于javascript - Node.js 找不到已安装的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31776636/