Используйте Yarn в докере, в котором находится подмодуль git - PullRequest
0 голосов
/ 08 ноября 2018

У меня есть среда разработки git repo, которая включает в себя все различные компоненты моего приложения в качестве подмодулей, и каждый из этих подмодулей имеет свои собственные док-контейнеры, которые монтируют папку как том.

Некоторые из подмодулей также нуждаются друг в друге, поэтому, чтобы избежать путаницы, я просто перечислил их в моем пакете. Json

{
 "dependencies": {
    //...
    "myapp-common": "https://path-to-my-repo.git",
   }
}

Это прекрасно работает, за исключением для случаев, когда мне нужно запустить yarn из моего докера. Поскольку я использую node-sass, устанавливаются различные пакеты в зависимости от операционной системы yarn.

Проблема, с которой я сталкиваюсь, заключается в том, что когда я запускаю yarn install и т. Д., Я получаю эту ошибку:

root@ea69cb8f4e7f:/app# yarn
yarn install v1.10.1
[1/4] Resolving packages...
[2/4] Fetching packages...
error Command failed.
Exit code: 128
Command: git
Arguments: ls-remote --tags --heads https://path-to-my-repo.git
Directory: /app
Output:
fatal: Not a git repository: ../.git/modules/myapp
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.

Есть идеи, как обойти это?

1 Ответ

0 голосов
/ 14 ноября 2018

Не самый идеальный вариант, но я справился с этим, создав скрипт bash, который временно перемещает файл .git

#!/bin/bash
mv /app/.git /app/.git.bak
yarn
mv /app/.git.bak /app/.git
yarn start
...