找不到模块'护照'

时间:2017-01-26 20:21:31

标签: node.js ubuntu docker-compose passport.js

我正在尝试使用Ubuntu(16.04 LTS)上的Docker Compose启动项目。但是,我有'护照'模块

这个问题
api_1            | [nodemon] 1.11.0
api_1            | [nodemon] to restart at any time, enter `rs`
api_1            | [nodemon] watching: *.*
api_1            | [nodemon] starting `node --debug server.js`
api_1            | Debugger listening on 127.0.0.1:5858
api_1            | module.js:472
api_1            |     throw err;
api_1            |     ^
api_1            | 
api_1            | Error: Cannot find module 'passport'
api_1            |     at Function.Module._resolveFilename  (module.js:470:15)
api_1            |     at Function.Module._load (module.js:418:25)
api_1            |     at Module.require (module.js:498:17)
api_1            |     at require (internal/module.js:20:19)
api_1            |     at Object.<anonymous> (/app/auth.js:4:16)
api_1            |     at Module._compile (module.js:571:32)
api_1            |     at Object.Module._extensions..js (module.js:580:10)
api_1            |     at Module.load (module.js:488:32)
api_1            |     at tryModuleLoad (module.js:447:12)
api_1            |     at Function.Module._load (module.js:439:3)
api_1            |     at Module.require (module.js:498:17)
api_1            |     at require (internal/module.js:20:19)
api_1            |     at Object.<anonymous> (/app/server.js:3:14)
api_1            |     at Module._compile (module.js:571:32)
api_1            |     at Object.Module._extensions..js (module.js:580:10)
api_1            |     at Module.load (module.js:488:32)
api_1            | [nodemon] app crashed - waiting for file changes 
                                before starting...

主要的是:

1)Docker正在运行所有内容(并设置所有内容,如Dockerfile中所述)

2)在/ app(启动服务器的地方)的package.json中存在护照依赖。

3)Passport以及带有npm的Node全局安装在Ubuntu中(尽管Docker必须自己设置所有这些)。

4)我在使用它的文件中有const passport = require('passport');

因此,我怀疑某些文件夹或文件权限(甚至可能是Docker)存在问题。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

更新

我只需要完全重新安装docker和docker-compose,一切都很完美。

更新:另一个(可能是主要的)原因是我的互联网服务提供商阻止了NPM,这就是为什么我无法下载(某种程度上)某些软件包的原因。因此,当我连接到另一个WiFi网络时,它就解决了。