Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Composer install --no-dev failing with sf4 + flex #35

Open
djamadeus opened this issue Dec 2, 2017 · 13 comments · May be fixed by #79
Open

Composer install --no-dev failing with sf4 + flex #35

djamadeus opened this issue Dec 2, 2017 · 13 comments · May be fixed by #79

Comments

@djamadeus
Copy link

djamadeus commented Dec 2, 2017

I fixed this here,
45da26d

messed up the fork though, so can't create clean pullrequest (or at least I dunno know how)

To make it nice you would replace the 'prod' with the symfony-env

@djamadeus
Copy link
Author

this one hast it cleaner:
Wunderdata@35a3a31

@zorn-v
Copy link

zorn-v commented Dec 5, 2017

It is not bundle problem. You can move symfony/dotenv from dev deps in composer.json, or just set env vars properly.
http://symfony.com/doc/current/best_practices/configuration.html

@djamadeus
Copy link
Author

yep but you still have pass app_env manually to the "composer install"-call, otherwise the call will fail with
"symfony-cmd handling the auto-scripts event returned with error code 127"

@zorn-v
Copy link

zorn-v commented Dec 5, 2017

You can set it (and other vars like APP_DEBUG) in ~/.profile or ~/.bashrc for user which doing deploy for example export APP_ENV=prod
Or just

set -a
. /path/to/project/.env
set +a

https://unix.stackexchange.com/questions/79064/how-to-export-variables-from-a-file

@djamadeus
Copy link
Author

djamadeus commented Dec 6, 2017 via email

@bzoks
Copy link

bzoks commented Jan 17, 2018

AbstractDeployer actually sets variable SYMFONY_ENV to provided ->symfonyEnvironment(), which is later used in commands:
[xxx@server.com] Executing command: (export SYMFONY_ENV=staging; cd /usr/local/www/...
but this environment variable has no meaning in Symfony4 - code should set APP_ENV instead when run on version 4.

@cve
Copy link
Contributor

cve commented Feb 8, 2018

I also have problems with Symfony 4 and .env file

Unable to read the "[...]/releases/20180208192107/bin/../.env" environment file.

@MSDATDE
Copy link

MSDATDE commented Feb 26, 2018

@cve Have you found the solution to this problem? I have the same problem with Symfony 4.

@cve
Copy link
Contributor

cve commented Feb 26, 2018

@MSDATDE not yet

@cve
Copy link
Contributor

cve commented Apr 9, 2018

Does anyone has an example how to using this bundle with Symfony 4?

@deantomasevic
Copy link

deantomasevic commented Jan 26, 2019

Hi,

i had the same error:

  Generating autoload files
  Executing script cache:clear [KO]
   [KO]
  Script cache:clear returned with error code 255
  !!  PHP Fatal error:  Uncaught Symfony\Component\Dotenv\Exception\PathException: Unable to read the "/var/www/domain/releases/20190126225728/.env" environment file. in /var/www/domain/releases/20190126225728/vendor
  /symfony/dotenv/Dotenv.php:466
  !!  Stack trace:

The main problem is: https://symfony.com/doc/current/configuration/dot-env-changes.html

B) The .env file is now commited to your repository. It was previously ignored via the .gitignore file (the updated recipe does not ignore this file). Because this file is committed, it should contain non-sensitive, default values. Basically, the .env.dist file was moved to .env.

FIX: #86

bin/console deploy staging
Initializing configuration
Starting the deployment
Updating app code
Preparing app
Optimizing app
Publishing app
Finishing the deployment
[OK] Deployment was successful

@PtrTn
Copy link

PtrTn commented May 19, 2019

I ran into the same issue. Since #86 has not been merged yet I solved it by adding a command to the beforePreparing() hook as such:

public function beforePreparing()
{
   $this->runRemote(sprintf('cp {{ deploy_dir }}/repo/.env {{ project_dir }} 2>/dev/null'));
}

@COil
Copy link

COil commented Nov 29, 2019

@PtrTn I have made the same but still having an error afer composer install:

[KO]
  Script cache:clear returned with error code 1
  !!
  !!  In EnvVarProcessor.php line 162:
  !!
  !!    Environment variable not found: "APP_SERVER".

If I interrupt the deployment just at this step and run the same command manually, it works.
I have added the ENV var in .bashrc, so they are defined:

[21:51:04] root@vps:/var/www-deploy/site.com/releases/20191129214947# printenv | grep -i app
APP_SECRET=whatever
APP_DEBUG=0
APP_ENV=prod
APP_SERVER=prod

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants