datahub - 组件启动顺序

1、mysql

2、elasticsearch

3、zookeeper

4、broker

5、schema-registry

6、gms

        直到看到如下日记信息,才是启动完成:

        Completed initialization in 7 ms

7、datahub-actions

        直到看到如下日记信息,才是启动完成:

        Action Pipeline with name 'ingestion_executor' is now running.

8、datahub-frontend-react

        直到看到如下日记信息,才是启动完成:

        INFO  play.core.server.AkkaHttpServer - Listening for HTTP on /[0:0:0:0:0:0:0:0]:9002

        INFO  akka.event.slf4j.Slf4jLogger - Slf4jLogger started

关闭顺序:

[+] Stopping 12/12

 ✔ Container datahub-datahub-frontend-react-1                                                                               

 ✔ Container datahub-datahub-actions-1         

 ✔ Container datahub-datahub-gms-1          

 ✔ Container datahub-datahub-upgrade-1       

 ✔ Container datahub-elasticsearch-setup-1     

 ✔ Container datahub-kafka-setup-1    

 ✔ Container datahub-mysql-setup-1  

 ✔ Container datahub-mysql-1               

 ✔ Container datahub-elasticsearch-1     

 ✔ Container datahub-schema-registry-1         

 ✔ Container datahub-broker-1       

 ✔ Container datahub-zookeeper-1              

run start 之后报错 Error: Command failed: prettier --write src/types.generated.ts D\:/mh/datahub-1.0.0rc2/datahub-web-react/src/graphql/accessrole.generated.ts D\:/mh/datahub-1.0.0rc2/datahub-web-react/src/graphql/analytics.generated.ts D\:/mh/datahub-1.0.0rc2/datahub-web-react/src/graphql/app.generated.ts D\:/mh/datahub-1.0.0rc2/datahub-web-react/src/graphql/assertion.generated.ts D\:/mh/datahub-1.0.0rc2/datahub-web-react/src/graphql/auth.generated.ts D\:/mh/datahub-1.0.0rc2/datahub-web-react/src/graphql/browse.generated.ts D\:/mh/datahub-1.0.0rc2/datahub-web-react/src/graphql/browseV2.generated.ts D\:/mh/datahub-1.0.0rc2/datahub-web-react/src/graphql/businessAttribute.generated.ts D\:/mh/datahub-1.0.0rc2/datahub-web-react/src/graphql/chart.generated.ts D\:/mh/datahub-1.0.0rc2/datahub-web-react/src/graphql/connection.generated.ts D\:/mh/datahub-1.0.0rc2/datahub-web-react/src/graphql/container.generated.ts D\:/mh/datahub-1.0.0rc2/datahub-web-react/src/graphql/contract.generated.ts D\:/mh/datahub-1.0.0rc2/datahub-web-react/src/graphql/dashboard.generated.ts D\:/mh/datahub-1.0.0rc2/datahub-web-react/src/graphql/dataFlow.generated.ts D\:/mh/datahub-1.0.0rc2/datahub-web-react/src/graphql/dataJob.generated.ts D\:/mh/datahub-1.0.0rc2/datahub-web-react/src/graphql/dataPlatform.generated.ts D\:/mh/datahub-1.0.0rc2/datahub-web-react/src/graphql/dataProcess.generated.ts D\:/mh/datahub-1.0.0rc2/datahub-web-react/src/graphql/dataProcessInstance.generated.ts D\:/mh/datahub-1.0.0rc2/datahub-web-react/src/graphql/dataProduct.generated.ts D\:/mh/datahub-1.0.0rc2/datahub-web-react/src/graphql/dataset.generated.ts D\:/mh/datahub-1.0.0rc2/datahub-web-react/src/graphql/domain.generated.ts D\:/mh/datahub-1.0.0rc2/datahub-web-react/src/graphql/entity.generated.ts D\:/mh/datahub-1.0.0rc2/datahub-web-react/src/graphql/ermodelrelationship.generated.ts D\:/mh/datahub-1.0.0rc2/datahub-web-react/src/graphql/form.generated.ts D\:/mh/datahub-1.0.0rc2/datahub-web-react/src/graphql/fragments.generated
最新发布
03-08
<think>好的,我现在需要解决用户在运行 'run start' 时遇到的 Prettier 命令失败的问题。首先,我应该仔细分析用户提供的错误信息:“prettier command failed when running run start in datahub-web-react project, error with writing multiple generated TypeScript files”。这意味着在启动项目时,Prettier 在格式化生成的 TypeScript 文件时出现了问题。 根据用户提供的引用内容,特别是引用[2],用户可能在项目中配置了 Prettier 作为 lint 步骤的一部分,并且可能在启动脚本(如start)中集成了 Prettier 检查。可能的错误原因包括: 1. **Prettier 配置问题**:检查 Prettier 的配置文件是否存在,或者配置是否与项目中的生成文件冲突。例如,生成的文件可能不符合 Prettier 的格式规则,导致格式化失败。 2. **文件忽略设置**:用户提到默认情况下 .gitignore 中的文件不会被格式化,但生成的文件可能不在 .gitignore 中,或者 Prettier 的忽略配置(如 .prettierignore)没有正确排除这些生成的文件,导致 Prettier 尝试格式化它们时出错。 3. **脚本执行顺序**:可能在运行 'run start' 之前执行的 Prettier 命令(如pre-commit钩子或npm脚本中的prestart)遇到了问题。需要检查package.json中的脚本配置,特别是start是否依赖于其他脚本,如lint或prettier:fix。 4. **生成文件的权限问题**:生成的TypeScript文件可能由于权限问题无法被Prettier写入,尤其是在某些构建环境中。 接下来,我需要参考用户提供的引用内容来寻找解决方案。例如,引用[2]提到在package.json中添加Prettier命令,用户可能已经配置了prettier:fix来修复格式问题。但生成的TypeScript文件可能在格式化过程中出现冲突,需要调整Prettier的忽略配置。 可能的解决步骤包括: 1. **检查Prettier配置**:确认是否存在 .prettierignore 文件,并确保生成的文件路径被正确忽略。例如,如果生成的文件位于src/generated目录,应在.prettierignore中添加该目录。 2. **调整npm脚本**:查看package.json中的start脚本是否直接或间接运行了Prettier,可能需要将Prettier检查移至单独的步骤,而不是阻塞启动过程。 3. **手动运行Prettier修复**:根据引用[2],用户可以使用npm run prettier:fix来尝试自动修复格式问题,特别是针对生成的文件。 4. **验证生成文件的格式**:如果生成的文件本身格式有误,可能需要调整生成工具(如TypeScript编译器)的配置,使其输出符合Prettier要求的格式,或者在生成后立即进行格式化。 同时,还需要考虑用户的项目结构,例如是否使用Create React App(如引用[3]),这可能会影响Webpack配置(引用[4]),进而影响生成文件的位置和格式。 最后,可能需要用户提供更多具体的错误日志或配置文件内容,以便更准确地诊断问题,但根据现有信息,上述步骤应作为初步的解决方案。</think>### 解决 "Prettier 命令失败" 的逐步方案 #### 1. 确认 Prettier 忽略生成文件 生成的 TypeScript 文件(如自动生成的代码或构建产物)可能与 Prettier 规则冲突,需将其添加到忽略列表: - 在项目根目录创建或修改 `.prettierignore` 文件,添加以下内容: ```plaintext # 忽略生成文件目录 /src/generated/ /build/ /dist/ ``` 此操作可阻止 Prettier 处理自动生成的文件[^2]。 #### 2. 检查 npm 脚本执行顺序 查看 `package.json` 中 `start` 脚本的定义: ```json { "scripts": { "start": "react-scripts start", "lint": "npm run eslint && npm run prettier", "prestart": "npm run lint" // 可能存在的钩子 } } ``` 若存在 `prestart` 钩子触发 Prettier 检查,建议将其分离: ```json { "scripts": { "start": "react-scripts start", "lint": "npm run eslint && npm run prettier", "prestart": "npm run some-other-task" // 移除 lint 相关命令 } } ``` #### 3. 手动修复格式问题 执行以下命令尝试自动修复格式: ```bash npm run prettier:fix ``` 此命令会根据 `.prettierrc` 配置自动修正文件格式[^2]。 #### 4. 验证 React Native 配置 检查项目中的 `react-native.config.js` 是否存在格式错误: ```javascript // react-native.config.js 示例 module.exports = { dependencies: { 'some-module': { platforms: { android: null // 禁用 Android 自动链接 } } } }; ``` 若文件缺失或配置异常,可能导致构建流程生成异常文件[^1]。 #### 5. 检查 Webpack 构建配置 若项目修改过 Webpack 配置(如引用[4]中的 `config/webpack.config.js`),需确认以下内容: - **生成文件路径**:确保生成的 TypeScript 文件输出到正确目录 - **Loader 顺序**:避免样式加载器与 TypeScript 编译冲突 例如,在 CSS 相关配置块附近检查文件处理逻辑: ```javascript // webpack.config.js 片段 { test: /\.tsx?$/, exclude: /node_modules/, use: ['ts-loader'] } ``` #### 6. 更新依赖版本 执行以下命令更新 Prettier 和相关工具: ```bash npm install prettier@latest @types/prettier@latest --save-dev ``` 版本不兼容可能导致格式化失败。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值