请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

pnpm start:dev 读取yml文件配置时,出现no such file or directory错误

代码地址
git@gitee.com:huo-lu/nestjs-learn.git / https://gitee.com/huo-lu/nestjs-learn.git

分支

  • main -> 问题代码
  • success -> 没有问题的代码

问题描述
app.modules.ts文件中, 使用TypeOrmModule.forRootSync(object)正常运行,
当改为 TypeOrmModule.forRoot(connectionParams),并配置ormconfig.ts后,pnpm start:dev 出现错误
no such file or directory, open '/Users/minglu/Desktop/nestjs-learn/dist/config/config.yml'

将变动改回TypeOrmModule.forRootSync(object),并且删除ormconfig.ts 可解决问题。

经反复测试,只要项目根目录中存在ormconfig.ts,不管TypeOrmModule使用同步或异步放, 都会出现上述读取不到yml文件的错误(路径问题),且在删除ormconfig.ts后,使用TypeOrmModule.forRootSync 可以正常使用ConfigService读取到的yml文件内容并作配置。

预期
配置ormconfig.ts时,解决 no such file or directory,open '/Users/minglu/Desktop/nestjs-learn/dist/config/config.yml问题。

正在回答 回答被采纳积分+3

1回答

Brian 2023-02-28 19:48:56
{
    "$schema": "https://json.schemastore.org/nest-cli",
    "collection": "@nestjs/schematics",
    "sourceRoot": "src",
    "compilerOptions": {
    "deleteOutDir": true,
    "assets": [
        {
            "include": "../config/**/*.yml",
            "outDir": "./dist/config",
            "watchAssets": true
        }
    ]
    }
}

修改根目录中的`nest-cli.json`文件

0 回复 有任何疑惑可以回复我~
  • 提问者 幕布斯2449755 #1
    按照此配置修改后出现新的问题,
    
    [Nest] 8696  - 2023/03/02 16:09:34   ERROR [TypeOrmModule] Unable to connect to the database. Retrying (9)...
    Error: EACCES: permission denied, scandir '/Library/Application Support/Apple/AssetCache/Data'
        at Object.readdirSync (node:fs:1437:3)
    回复 有任何疑惑可以回复我~ 2023-03-02 16:14:37
  • Brian 回复 提问者 幕布斯2449755 #2
    这个是数据库连接的问题~,你看看数据库的配置是不是正确的。打印一下数据库连接的配置~,然后试试navicat连接一下数据库。
    回复 有任何疑惑可以回复我~ 2023-03-13 10:19:13
  • 见信 #3
    老师,我也是环境变量用yml配的,也是有这个问题,用你的方法后成功解决了,我们重构后出现这个问题的原因是什么呢?
    回复 有任何疑惑可以回复我~ 2023-12-11 20:07:36
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信