我有一个Nestjs应用程序,我用NODE_ENV=production nest build
构建.
它在我的MacBook上使用NODE_ENV=production nest start
命令启动,它也使用相同的命令启动,使用我们的Prod机器的本地流浪箱实例.
但它在运行相同 node 版本16.20的Prod计算机上抛出以下代码:
[Nest] 1108076 - 06/12/2023, 9:54:51 PM LOG [NestFactory] Starting Nest application...
[Nest] 1108076 - 06/12/2023, 9:54:51 PM ERROR [ExceptionHandler] Nest cannot create the AppModule instance.
Received an unexpected value at index [3] of the AppModule "imports" array.
Scope []
Error: Nest cannot create the AppModule instance.
Received an unexpected value at index [3] of the AppModule "imports" array.
Scope []
at DependenciesScanner.scanForModules (/home/check-inventory/test/node_modules/@nestjs/core/scanner.js:56:23)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async DependenciesScanner.scan (/home/check-inventory/test/node_modules/@nestjs/core/scanner.js:27:9)
at async /home/check-inventory/test/node_modules/@nestjs/core/nest-factory.js:107:17
at async Function.asyncRun (/home/check-inventory/test/node_modules/@nestjs/core/errors/exceptions-zone.js:22:13)
at async NestFactoryStatic.initialize (/home/check-inventory/test/node_modules/@nestjs/core/nest-factory.js:106:13)
at async NestFactoryStatic.create (/home/check-inventory/test/node_modules/@nestjs/core/nest-factory.js:42:9)
at async bootstrap (/home/check-inventory/test/dist/src/main.js:13:17)
我甚至通过SCP转移了我在本地构建的dist和node_模块,并调整了所有的所有权,但仍然没有运气……
我的app.module文件:
import { MiddlewareConsumer, Module, NestModule } from "@nestjs/common";
import { AppController } from "./app.controller";
import { AppService } from "./app.service";
import { TypeOrmModule } from "@nestjs/typeorm";
import { ConfigModule } from "@nestjs/config";
import { UsersModule } from "./users/users.module";
import { GroupsModule } from "./groups/groups.module";
import { RequestsModule } from "./requests/requests.module";
import { CategoriesModule } from "./categories/categories.module";
import { ItemsModule } from "./items/items.module";
import { UserInjectMiddleware } from "./middleware/user-inject.middleware";
import { TrackerModule } from "./tracker/tracker.module";
import { ScheduleModule } from "@nestjs/schedule";
import { SerialsModule } from "./serials/serials.module";
import { SocketModule } from "./socket/socket.module";
import { StoragesModule } from "./storages/storages.module";
import { AuthModule } from "./auth/auth.module";
import { APP_GUARD } from "@nestjs/core";
import { AzureValidatorGuard } from "./auth/azure-validator.guard";
import { RolesGuard } from "./auth/roles.guard";
import { StatisticsModule } from "./statistics/statistics.module";
import { config } from "./dataSource.config";
const env = process.env.NODE_ENV || "production";
@Module({
imports: [
ConfigModule.forRoot({
isGlobal: true,
envFilePath: `../.env.${env}`,
}),
TypeOrmModule.forRoot(config),
ScheduleModule.forRoot(),
process.env.EASYPOST_APIKEY ? TrackerModule : null,
UsersModule,
GroupsModule,
RequestsModule,
CategoriesModule,
ItemsModule,
SerialsModule,
StoragesModule,
SocketModule,
AuthModule,
StatisticsModule,
],
controllers: [AppController],
providers: [
AppService,
{
provide: APP_GUARD,
useClass: AzureValidatorGuard,
},
{
provide: APP_GUARD,
useClass: RolesGuard,
},
],
})
export class AppModule implements NestModule {
configure(consumer: MiddlewareConsumer) {
consumer.apply(UserInjectMiddleware).forRoutes("*");
}
}