Fix: yarn.lock symlink issue in Docker build
- Updated Dockerfile.simple to handle yarn.lock correctly - Added script in deploy-simple.sh to convert symlink to real file - Updated .gitignore to ignore converted yarn.lock - This fixes the 'yarn.lock not found' error during Docker build
This commit is contained in:
File diff suppressed because one or more lines are too long
31
.gitignore
vendored
31
.gitignore
vendored
@@ -1,8 +1,5 @@
|
||||
# Dependencies
|
||||
**/node_modules
|
||||
.next
|
||||
.cache
|
||||
.build
|
||||
*.nfs*
|
||||
**/.yarn/
|
||||
!**/.yarn/patches
|
||||
!**/.yarn/plugins
|
||||
@@ -12,12 +9,36 @@
|
||||
!**/.yarn/cache
|
||||
**/.yarn/build-state.yml
|
||||
**/.yarn/install-state.gz
|
||||
|
||||
# Next.js
|
||||
.next
|
||||
.cache
|
||||
.build
|
||||
dist
|
||||
target
|
||||
out
|
||||
*.tsbuildinfo
|
||||
|
||||
# Environment variables (CRITICAL - never commit!)
|
||||
.env
|
||||
.env.local
|
||||
.env.production
|
||||
.env.*.local
|
||||
|
||||
# Docker generated files
|
||||
docker-compose.simple.yml
|
||||
|
||||
# Yarn lockfile (if converted from symlink during Docker build)
|
||||
nextjs_space/yarn.lock
|
||||
|
||||
# Logs
|
||||
.deploy
|
||||
.logs
|
||||
*.tsbuildinfo
|
||||
*.nfs*
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
|
||||
# OS files
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
|
||||
@@ -10,8 +10,9 @@ RUN apk add --no-cache \
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# Копируем package.json и yarn.lock
|
||||
COPY nextjs_space/package.json nextjs_space/yarn.lock ./
|
||||
# Копируем package.json и yarn.lock (если есть)
|
||||
COPY nextjs_space/package.json ./
|
||||
COPY nextjs_space/yarn.lock* ./
|
||||
|
||||
# Копируем prisma схему (нужна для генерации клиента)
|
||||
COPY nextjs_space/prisma ./prisma
|
||||
|
||||
@@ -26,6 +26,19 @@ docker compose down 2>/dev/null || true
|
||||
echo "⚡ Быстрая сборка с упрощенным Dockerfile (15-20 минут)..."
|
||||
echo "💡 Используется Dockerfile.simple - проще и быстрее для первой сборки"
|
||||
|
||||
# Создаём реальный yarn.lock (symlink не работает в Docker)
|
||||
echo "🔗 Создаём реальный yarn.lock из symlink..."
|
||||
if [ -L nextjs_space/yarn.lock ]; then
|
||||
# Если это symlink, копируем его содержимое
|
||||
cp -L nextjs_space/yarn.lock nextjs_space/yarn.lock.tmp
|
||||
rm nextjs_space/yarn.lock
|
||||
mv nextjs_space/yarn.lock.tmp nextjs_space/yarn.lock
|
||||
echo "✅ yarn.lock преобразован в реальный файл"
|
||||
elif [ ! -f nextjs_space/yarn.lock ]; then
|
||||
# Если файла нет вообще, создаём пустой
|
||||
echo "⚠️ yarn.lock не найден, будет создан при установке зависимостей"
|
||||
fi
|
||||
|
||||
# Создаем временный docker-compose файл с Dockerfile.simple
|
||||
cat > docker-compose.simple.yml << 'EOFCOMPOSE'
|
||||
services:
|
||||
|
||||
Reference in New Issue
Block a user