takeone/PRODUCTION_FIX_COMMANDS.md

120 lines
2.9 KiB
Markdown

# Production Server - Manual Fix Commands
## Current Issue
The package `takeone/cropper` is not installed on the production server. The `composer.json` was updated but `composer install` needs to be run.
## Run These Commands on Production Server (in order):
### 1. Clear Bootstrap Cache (Important!)
```bash
rm -f bootstrap/cache/services.php
rm -f bootstrap/cache/packages.php
```
### 2. Clear Composer Cache
```bash
composer clear-cache
```
### 3. Install Dependencies
```bash
composer install --no-scripts
```
### 4. If Step 3 Fails, Try This Instead
```bash
composer require takeone/cropper:dev-main --no-scripts
```
### 5. Regenerate Autoload
```bash
composer dump-autoload
```
### 6. Fix Namespace in Vendor File
```bash
# Check if file exists first
ls -la vendor/takeone/cropper/src/CropperServiceProvider.php
# If it exists, fix the namespace (Linux/Mac)
sed -i 's/\\takeone\\cropper\\Http\\Controllers\\ImageController/\\Takeone\\Cropper\\Http\\Controllers\\ImageController/g' vendor/takeone/cropper/src/CropperServiceProvider.php
```
**OR manually edit the file:**
- File: `vendor/takeone/cropper/src/CropperServiceProvider.php`
- Line 24: Change `\takeone\cropper\Http\Controllers\ImageController::class`
- To: `\Takeone\Cropper\Http\Controllers\ImageController::class`
### 7. Clear All Laravel Caches
```bash
php artisan optimize:clear
```
### 8. Discover Packages
```bash
php artisan package:discover --ansi
```
### 9. Verify Everything Works
```bash
php artisan about
```
### 10. Run Migrations (if needed)
```bash
php artisan migrate
```
## Alternative: If composer install keeps failing
If you get errors about the package not being found, try this sequence:
```bash
# 1. Remove any stale lock entries
composer remove takeone/cropper --no-scripts --no-update
# 2. Clear everything
rm -f bootstrap/cache/*.php
composer clear-cache
# 3. Update composer.lock
composer update --lock
# 4. Install fresh
composer install
# 5. If still failing, force require
composer require takeone/cropper:dev-main
```
## Quick One-Liner (Copy-Paste All at Once)
```bash
rm -f bootstrap/cache/services.php bootstrap/cache/packages.php && \
composer clear-cache && \
composer install --no-scripts && \
composer dump-autoload && \
php artisan optimize:clear && \
php artisan package:discover --ansi && \
php artisan about
```
Then manually fix the namespace in the vendor file if needed.
## Troubleshooting
### Error: "Failed to open stream: No such file or directory"
**Cause**: Package not installed
**Solution**: Run `composer install` or `composer require takeone/cropper:dev-main`
### Error: "Could not find a version of package takeone/cropper"
**Cause**: Wrong version constraint
**Solution**: Make sure composer.json has `"takeone/cropper": "dev-main"` (not `@dev`)
### Error: "Class 'Takeone\Cropper\CropperServiceProvider' not found"
**Cause**: Namespace issue or cache problem
**Solution**:
1. Fix namespace in vendor file
2. Clear all caches
3. Run `composer dump-autoload`