在本地运行tsc
或tsc -w
并行执行npm t -- --watch
所有工作,但是尝试将我拥有的内容复制到Github CI中一直没有工作。由于某种原因,我什至无法使用来打印文件夹ls
。而且,TypeScript和Jest的安装似乎都成功了。
当它在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/",
}
我在此设置中犯了一个错误吗?我错过了什么?这是我的项目的完整设置。
正如@jonrsharpe的评论中所提到的那样,整个问题可以用一个错字来概括。我基本上忘记了将代码签出到CI环境中。因此,我必须将此添加到steps
:
...
steps:
- name: Checking out the Project's Code
uses: actions/checkout@v2
...
Jon指出的另一个问题是缺少该package-lock.json
文件,该文件的目的是使项目中安装的软件包与CI VM中安装的软件包保持一致-使用npm ci
而不是使用npm i
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句