我在linux上安装了node.js,file.js
。在同一目录中,我有node_modules
目录和lru-cache
模块。
file.js
执行以下操作:
var lrucache = require('lru-cache')
但是当我运行它时,会引发以下错误:
Error: Cannot find module 'lru-cache'
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> (/opt/file.js:58:12)
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 Function.Module.runMain (module.js:497:10)
有什么问题?同样适用于其他Linux系统。
答案 0 :(得分:1)
大多数节点模块都有自己的一组包依赖关系,因此您不能只复制文件夹或克隆存储库,而不必确保您满足模块的依赖关系。
最简单的方法是使用npm
进行所有包安装。
在项目的根目录中运行npm init
以设置package.json
使用
$ npm install modulename --save
安装包及其依赖项。您现在可以安全地使用
var module = require('modulename');
整个项目。
如果您无法通过npm
安装软件包,请确保通过导航到node_modules/modulename
并在此处运行npm install
(无参数)来安装所有依赖项。这将安装模块自己的package.json
文件中列出的所有依赖项。
答案 1 :(得分:0)
请尝试:
rm -rf node_modules && npm cache clean && npm install
有时npm存在问题,并且依赖性lru-cache可能无法正确安装。