每当我运行包含nodejs 11.10&mariadb的docker镜像时,都会出现以下错误:



当我使用mysql:latestmysql:5.6时,也会发生相同的问题。这是我的联系:

TypeOrmModule.forRoot({
  type: 'mariadb',
  host: '172.17.0.1',
  port: 3306,
  username: 'nest',
  password: 'secret',
  database: 'nest',
  entities: [__dirname + '/**/*.entity{.ts,.js}'],
  synchronize: true,
}),

有没有其他人遇到过此问题,所以知道如何解决此问题?
谢谢!

最佳答案

发生此问题,因为的entities: [__dirname + '/**/*.entity{.ts,.js}'],。因为__dirname不会以某种方式解析到您的项目目录,而是'',所以它将尝试扫描整个驱动器中的实体,并且显然没有权限这样做。

解决方法

无需扫描实体,而是明确列出它们:

entities: [UserEntity, ProductEntity],

如果您将Webpack用于hmr,则还可以尝试以下配置来正确解析__dirname:

webpack.config.js:
node: {
  __dirname: false,
},

10-07 19:12
查看更多