Javascript 带有TypeScript和Jest的Github CI

Javascript 带有TypeScript和Jest的Github CI,javascript,typescript,npm,github-ci,Javascript,Typescript,Npm,Github Ci,在本地运行tsc或tsc-w与npmt--watch并行运行,但尝试将我所拥有的复制到Github CI中却不起作用。由于某些原因,我甚至无法打印带有ls的文件夹。不过,TypeScript和Jest的安装似乎都很成功 ,我只需从tsc右下方的Run tsc接收所有可能命令的日志,以及错误:进程已完成,退出代码为1。 这是我在Github CI中的当前设置: 。。。 工作: 建造: 运行于:ubuntu最新版本 步骤: -名称:安装TypeScript 运行:npmi-D类型脚本 -名称:安装J

在本地运行
tsc
tsc-w
npmt--watch
并行运行,但尝试将我所拥有的复制到Github CI中却不起作用。由于某些原因,我甚至无法打印带有
ls
的文件夹。不过,TypeScript和Jest的安装似乎都很成功

,我只需从
tsc
右下方的
Run tsc
接收所有可能命令的日志,以及
错误:进程已完成,退出代码为1。

这是我在Github CI中的当前设置:

。。。
工作:
建造:
运行于:ubuntu最新版本
步骤:
-名称:安装TypeScript
运行:npmi-D类型脚本
-名称:安装Jest
运行:npm i-D笑话
-名称:编译类型脚本代码
运行:tsc
-名称:运行测试
运行:npm t
这是我的
包.json

{
...
“main”:“dist/content.js”,
“脚本”:{
“测试”:“玩笑”,
“testwatch”:“开玩笑--watchAll”
},
“依赖性”:{
“@types/jest”:“^26.0.15”,
“笑话”:“^26.6.2”,
“ts笑话”:“^26.4.3”,
“类型脚本”:“^4.0.5”
}
}
我认为在我的
tsconfig.json中唯一相关的是:

{
“outDir”:“../dist/”,
“rootDir”:“../lib/”,
}

我在这个设置中犯了错误吗?我错过了什么?是我项目的完整设置。

正如@jornsharpe在评论中提到的那样,整个问题可以用类似于打字错误的东西来概括。我基本上忘记了将代码签出到CI环境中。因此,我必须将此添加到
步骤的开头:

。。。
步骤:
-名称:签出项目的代码
用途:行动/checkout@v2
...

Jon指出的另一个问题是缺少
package lock.json
文件,该文件将用于使项目中安装的包与CI VM中安装的包保持一致-使用
npm CI
而不是
npm i

为什么不安装所有依赖项?还有,你说它不工作是什么意思,发生了什么?你是说像npm i-g-a这样的东西?不幸的是,它也不起作用。我还在Github中添加了一个带有日志的跑步链接。我所有的尝试和错误都出现在我链接的项目的Actions部分。不,我的意思是字面上只是
npm I
(或者
npm ci
,如果你正确使用了锁文件)-使用包文件,这就是它的用途。哦,你忘了实际签出你的代码,所以你没有包文件或其他任何东西。见例1。它可能位于repo的lib目录中,但您尚未将repo签出到CI环境中。再次,通读快速入门。2.是的,它会重新创建它,但是你已经从根本上破坏了锁文件的要点,即在所有地方都有一组一致的依赖项。在过去的24小时里,我基本上采纳了@jonrsharpe的所有建议,它们似乎真的得到了回报。你现在就可以在网上查看。