【发布时间】:2020-11-07 17:38:29
【问题描述】:
在本地,与 npm t -- --watch 并行运行 tsc 或 tsc -w 所有工作,但尝试将我所拥有的内容复制到 Github CI 并没有奏效。出于某种原因,我什至无法使用ls 打印文件夹。不过,TypeScript 和 Jest 的安装似乎都成功了。
When it runs inside Github CI,我只是收到来自tsc 正下方Run tsc 和Error: Process completed with exit code 1. 的所有可能命令的日志。
这是我目前在 Github CI 中的设置:
...
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Installing TypeScript
run: npm i -D typescript
- name: Installing Jest
run: npm i -D jest
- name: Compiling TypeScript Code
run: tsc
- name: Running Tests
run: npm t
这是我的package.json:
{
...
"main": "dist/content.js",
"scripts": {
"test": "jest",
"testwatch": "jest --watchAll"
},
"devDependencies": {
"@types/jest": "^26.0.15",
"jest": "^26.6.2",
"ts-jest": "^26.4.3",
"typescript": "^4.0.5"
}
}
我认为与我的tsconfig.json 相关的唯一内容是:
{
"outDir": "./dist/",
"rootDir": "./lib/",
}
我是否在此设置中犯了错误?我错过了什么? Here 是我项目的完整设置。
【问题讨论】:
-
为什么不安装所有的依赖?还有你的意思是它不起作用,会发生什么?
-
你的意思是
npm i -g -a?不幸的是,它也没有用。我还在 Github 中添加了运行日志的链接。我所有的尝试和错误都在我链接的项目的“操作”部分中。 -
不,我的意思是
npm i(或者npm ci,如果您正确使用了锁定文件)- 使用包文件,这就是它的用途。 -
哦,你忘了实际检查你的代码,所以你没有包文件或其他任何东西。参见例如docs.github.com/en/free-pro-team@latest/actions/quickstart.
-
1.它可能位于 repo 的 lib 目录中,但您尚未将 repo 检出到 CI 环境中。再次通读快速入门。 2. 是的,它会重新创建它,但是你从根本上破坏了锁文件的要点,即在任何地方都有一组一致的依赖项。
标签: javascript typescript npm github-ci