SCB*_*SCB 2 git node.js yarnpkg
我们的CI中有一个奇怪的依赖,它要求我们的git repo有一个node_modules目录(但显然不是它中的包).
由于git不跟踪空目录,我们实现它的方式是有一个.gitignore内部:
node_modules/
.gitignore
Run Code Online (Sandbox Code Playgroud)
使用以下配置
*
!.gitignore
Run Code Online (Sandbox Code Playgroud)
这有效,直到我们使用重新安装我们的模块yarn install,这将清除目录中的所有内容,包括我们的.gitignore文件,搞乱了存储库.
我们还可以添加以下内容:
node_modules/
.empty
.gitignore
Run Code Online (Sandbox Code Playgroud)
用.gitignore:
/node_modules/*
!/node_modules/.empty
Run Code Online (Sandbox Code Playgroud)
但yarn install仍将删除该文件,以及任何跟踪node_modules目录.
我们的问题是,我们缺少哪些可以:
node_modules/gityarn install我知道实际的答案是修复我们的CI,但这对我们来说有点超出了我们的范围.
创建一个post install重新创建.empty文件的脚本node_modules.
更具体地说,您可以在package.json调用安装后在该运行中添加某些脚本.在这种情况下:
{
// ...
"scripts": {
// ...
"postinstall": "touch node_modules/.empty"
}
// ...
}
Run Code Online (Sandbox Code Playgroud)
安装完成后,应确保在node_modules命名文件中存在文件.empty.
| 归档时间: |
|
| 查看次数: |
89 次 |
| 最近记录: |