Dha*_*raj 28 github github-actions
我有一个用于服务器和前端的 Github 存储库。目录结构如下:
root
|- frontend
|- server (Express App)
Run Code Online (Sandbox Code Playgroud)
GitHub 操作:
root
|- frontend
|- server (Express App)
Run Code Online (Sandbox Code Playgroud)
我只有一项工作来构建 Express 服务器(还不是前端),所以我working-directory将./server. 但是,我仍然收到错误:
Dependencies lock file is not found in /home/{username}/runners.../repository_name. Supported file patterns: package-lock.json,yarn.lock
Run Code Online (Sandbox Code Playgroud)
所以显然它并没有试图跑进去.../reposirtoy_name/server。
我只是想在单个 Github 操作中构建服务器和前端。
ash*_*117 49
您的问题可能专门与“uses: actions/setup-node”有关。他们在文档中提到,如果您有多个锁定文件或非根目录中的锁定文件
就我而言,我有一个带有嵌套项目/目录的项目。在我的 GitHub 操作中,我想在嵌套项目/目录上运行 npm test,因此我必须指定在特定子目录中使用我的 package.json。仔细检查您是否使用cache-dependency-path指定了正确的目录。
此处指定
https://github.com/actions/setup-node#caching-global-packages-data
Wah*_*ian 24
尝试一下这个解决方案。它对我来说有效。在构建中插入默认工作目录
build:
runs-on: self-hosted
defaults:
run:
working-directory: ./server/
strategy:
matrix:
node-version: [14.x]
Run Code Online (Sandbox Code Playgroud)
然后包含缓存依赖路径。这应该是 package-lock.json 文件的位置
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
cache-dependency-path: './server/package-lock.json'
Run Code Online (Sandbox Code Playgroud)
总览
如果将缓存属性与 actions/setup-node@v3 一起使用,请确保您的结帐存储库步骤位于设置节点步骤之前。
对我来说,这是由 actions/setup-node@v3 上的缓存属性引起的。没有它 - 一切都很好。有了它——失败了。原因是,它使用package-lock.json(或yarn.lock)文件作为缓存密钥。
请参阅: https: //github.com/actions/setup-node
我的签出存储库步骤 (actions/checkout@v2) 是在设置节点步骤之后,因此它没有找到 package-lock.json 文件 - 因为它尚未签出。
| 归档时间: |
|
| 查看次数: |
25105 次 |
| 最近记录: |