Coder Social home page Coder Social logo

installer's Introduction

Laravel Installer

Build Status Total Downloads Latest Stable Version License

Official Documentation

Documentation for installing Laravel can be found on the Laravel website.

Contributing

Thank you for considering contributing to the Installer! The contribution guide can be found in the Laravel documentation.

Code of Conduct

In order to ensure that the Laravel community is welcoming to all, please review and abide by the Code of Conduct.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

License

Laravel Installer is open-sourced software licensed under the MIT license.

installer's People

Contributors

alexbowers avatar bigship-prashant avatar browner12 avatar crynobone avatar dleicam avatar driesvints avatar grahamcampbell avatar hajmo avatar jerguslejko avatar jessarcher avatar jubeki avatar likeadeckofcards avatar lucasmichot avatar mbabker avatar michielgerritsen avatar miclf avatar milwad-dev avatar mpociot avatar nshiro avatar nunomaduro avatar okaufmann avatar pakogn avatar pataar avatar pedroborges avatar peter279k avatar peterojo avatar samasend avatar taylorotwell avatar themsaid avatar tjsoler avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

installer's Issues

`The "no-ansi" option does not exist` exception after upgrading

  • Installer Version: 4.1.1

Description:

After upgrading my Mac to PHP 8.0.1 (After linking PHP 7.4, I still have the issue by the way), Composer 2.0.8 and Laravel Installer to the latest version, I cannot run the laravel new command anymore.

I got a The "no-ansi" option does not exist".

Here is the full output with verbose enabled :

_                               _
| |                             | |
| |     __ _ _ __ __ ___   _____| |
| |    / _` | '__/ _` \ \ / / _ \ |
| |___| (_| | | | (_| |\ V /  __/ |
|______\__,_|_|  \__,_| \_/ \___|_|


In Input.php line 150:

  [Symfony\Component\Console\Exception\InvalidArgumentException]
  The "no-ansi" option does not exist.


Exception trace:
  at /Users/martylamoureux/.composer/vendor/symfony/console/Input/Input.php:150
 Symfony\Component\Console\Input\Input->getOption() at /Users/martylamoureux/.composer/vendor/laravel/installer/src/NewCommand.php:239
 Laravel\Installer\Console\NewCommand->runCommands() at /Users/martylamoureux/.composer/vendor/laravel/installer/src/NewCommand.php:103
 Laravel\Installer\Console\NewCommand->execute() at /Users/martylamoureux/.composer/vendor/symfony/console/Command/Command.php:277
 Symfony\Component\Console\Command\Command->run() at /Users/martylamoureux/.composer/vendor/symfony/console/Application.php:974
 Symfony\Component\Console\Application->doRunCommand() at /Users/martylamoureux/.composer/vendor/symfony/console/Application.php:291
 Symfony\Component\Console\Application->doRun() at /Users/martylamoureux/.composer/vendor/symfony/console/Application.php:167
 Symfony\Component\Console\Application->run() at /Users/martylamoureux/.composer/vendor/laravel/installer/bin/laravel:13

new [--dev] [--jet] [--stack [STACK]] [--teams] [--prompt-jetstream] [-f|--force] [--] <name>

Steps To Reproduce:

On my side : upgrade PHP, Composer and Laravel Updater, then the issue came up.

Feature Request : Revert back to parent folder after methods that use chdir, in cases where one overrides the execute method as it throws errors.

I'm overriding this to create some additional modifications.

One thing I've noticed is I have in my custom package that extends yours:

protected function execute(InputInterface $input, OutputInterface $output)
    {
        $executionCode = parent::execute($input, $output);
        if ($executionCode === 0) { 
			$this->replaceInFile('SESSION_DRIVER=file', 'SESSION_DRIVER=redis', $envFile);
		 // my custom code
		}
		return $executionCode;
    }

This works like a charm, except if I use --teams in jet. Basically it breaks directories which I use to setup some symlinks to automatically propagate nginx locally...as well as editing the .env file is now looking for it in myapp/myapp.env instead of myapp.env.

The fix is basically reverting back to the parent directory before calling my code if using teams. Which seems a little hackety since --jet without teams works. I'm wondering if maybe you could just automatically chdir back whenever you go into a directory. It's a small thing but seems to be a little "safer" in terms of congruency.

My easy fix was this though:

class NewCommand extends BaseCommand
{
    protected $topDir;

	/**
     * Execute the command.
     *
     * @param  \Symfony\Component\Console\Input\InputInterface  $input
     * @param  \Symfony\Component\Console\Output\OutputInterface  $output
     * @return int
     */
    protected function execute(InputInterface $input, OutputInterface $output)
    {
        $this->topDir = getcwd();
        $executionCode = parent::execute($input, $output);
        chdir($this->topDir);
        if ($executionCode === 0) {
			//my custom code
		}
		return $executionCode;
	}

I guess a proposed fix would be add the $topdir property, then right before returning from the execute method chdir back. Or do so in functions that shift the current working directory, in case someone might be overriding another method.

It's just kind of a nit-pick since I've got it fixed/patched and should now just work, but others might get stuck, so it may help others. :)

[4.1.0] Creates project in wrong directory

  • Installer Version: 4.1.0

Description:

When running laravel new test it creates the project NOT in test directory but in current directory repeated twice. Hard to explain, look. I am in /Users/lasserafn/dev-projects folder and it tries to do this:

Creating a "laravel/laravel" project at "/Users/lasserafn/dev-projects//Users/lasserafn/dev-projects/test"

Essentially repeating the /Users/lasserafn/dev-projects part.

Steps To Reproduce:

  1. Update to installer version 4.1.0
  2. run laravel new NAME

โ€”โ€”โ€”โ€”

Not sure if I have missed a config or something that I need to do after updating to latest Laravel installer?

Installation failing, 522 Origin Connectiontime-out

  • Installer Version: 2.3.0

Description:

Can't create a new laravel project with laravel new

Steps To Reproduce:

  1. laravel new foobar
zack@desktop:~/Environments$ laravel new foobar
Crafting application...

In RequestException.php line 113:

  Server error: `GET http://cabinet.laravel.com/latest.zip` resulted in a `522 Origin Connection Time-out` response:
  <html>
  <head><title>522 Origin Connection Time-out</title></head>
  <body bgcolor="white">
  <center><h1>522 Origin Conne (truncated...)


new [--dev] [--auth] [-f|--force] [--] [<name>]

Laravel installer clears setgid bit on storage and bootstrap/cache

  • Installer Version: 3.2.0

Description:

When creating new files, setgid bit (and consequentially the owning group) should be inherited from parent directories. However Laravel Installer explicitly sets 755 as permission attributes to storage and bootstrap/cache directories as well as all the directories and files inside. As a result setgid bit and therefore the owning group for files which are created later get lost.

Steps To Reproduce:

mkdir www
chgrp www-data www
chmod g+s www  # setting `setgid` bit on `www` directory

cd www
laravel new myproject

Now, let's have a look at the contents of my project:

$ cd myproject
$ ll
total 772
drwxr-sr-x 12 marveloo www-data   4096 Jul  9 23:44 ./
drwxr-sr-x  3 marveloo www-data   4096 Jul  9 23:44 ../
-rw-r--r--  1 marveloo www-data    220 Jul  9 23:44 .editorconfig
-rw-r--r--  1 marveloo www-data    829 Jul  9 23:44 .env
-rw-r--r--  1 marveloo www-data    778 Jul  9 23:44 .env.example
-rw-r--r--  1 marveloo www-data    111 Jul  9 23:44 .gitattributes
-rw-r--r--  1 marveloo www-data    163 Jul  9 23:44 .gitignore
-rw-r--r--  1 marveloo www-data    174 Jul  9 23:44 .styleci.yml
-rw-r--r--  1 marveloo www-data   4594 Jul  9 23:44 README.md
drwxr-sr-x  6 marveloo www-data   4096 Jul  9 23:44 app/
-rw-r--r--  1 marveloo www-data   1686 Jul  9 23:44 artisan
drwxr-sr-x  3 marveloo www-data   4096 Jul  9 23:44 bootstrap/
-rw-r--r--  1 marveloo www-data   1586 Jul  9 23:44 composer.json
-rw-r--r--  1 marveloo www-data 227978 Jul  9 23:44 composer.lock
drwxr-sr-x  2 marveloo www-data   4096 Jul  9 23:44 config/
drwxr-sr-x  5 marveloo www-data   4096 Jul  9 23:44 database/
-rw-r--r--  1 marveloo www-data 453407 Jul  9 23:44 package-lock.json
-rw-r--r--  1 marveloo www-data   1034 Jul  9 23:44 package.json
-rw-r--r--  1 marveloo www-data   1215 Jul  9 23:44 phpunit.xml
drwxr-sr-x  2 marveloo www-data   4096 Jul  9 23:44 public/
drwxr-sr-x  6 marveloo www-data   4096 Jul  9 23:44 resources/
drwxr-sr-x  2 marveloo www-data   4096 Jul  9 23:44 routes/
-rw-r--r--  1 marveloo www-data    563 Jul  9 23:44 server.php
drwxr-xr-x  5 marveloo www-data   4096 Jul  9 23:44 storage/
drwxr-sr-x  4 marveloo www-data   4096 Jul  9 23:44 tests/
drwxr-sr-x 44 marveloo www-data   4096 Jul  9 23:44 vendor/
-rw-r--r--  1 marveloo www-data    538 Jul  9 23:44 webpack.mix.js

As we can see, all the files and folders were assigned to group www-data as expected and the setgid bit was set on all the folders as well... except for storage.

And here we have the contents of storage and bootstrap/cache:

$ ll bootstrap/cache storage
bootstrap/cache:
total 32
drwxr-xr-x 2 marveloo www-data  4096 Jul  9 23:44 ./
drwxr-sr-x 3 marveloo www-data  4096 Jul  9 23:44 ../
-rwxr-xr-x 1 marveloo www-data    14 Jul  9 23:44 .gitignore*
-rwxr-xr-x 1 marveloo marveloo   938 Jul  9 23:44 packages.php*
-rwxr-xr-x 1 marveloo marveloo 13766 Jul  9 23:44 services.php*

storage:
total 20
drwxr-xr-x  5 marveloo www-data 4096 Jul  9 23:44 ./
drwxr-sr-x 12 marveloo www-data 4096 Jul  9 23:44 ../
drwxr-xr-x  3 marveloo www-data 4096 Jul  9 23:44 app/
drwxr-xr-x  6 marveloo www-data 4096 Jul  9 23:44 framework/
drwxr-xr-x  2 marveloo www-data 4096 Jul  9 23:44 logs/

So we can see that none of the folders got setgid bit. And in turn packages.php and services.php were unable to inherit www-data group because these files were created after 755 was applied to their parents where setgid got lost.

Possible Solutions:

  1. Apply w bit to files and folders which require this but leave all other permission bits untouched;
  2. Apply 755 but leave all special permission bits (i.e. setuid, setgid and sticky bits) untouched;
  3. Don't apply anything and get rid of prepareWritableDirectories method call completely (this is my preferred solution, read below).

Currently prepareWritableDirectories explicitly sets 755 permissions to all the files that need to be writable by the server, however the user who is able to run laravel install myproject must have the user part of umask set to 0, otherwise the installer won't run at all. Which means that the storage and bootstrap/cache directories will always be created as writable anyway regardless of all the "job" done by prepareWritableDirectories.

Installation fails when using --quiet

  • Installer Version: 4.0.4

Description:

When using --quiet basic installation is successful (the new Laravel project is created) but setting artisan to executable fails. This results in APP_URL and DB_DATABASE not being configured in .env as well as Jetstream UI failing to install.

I think this is due to chmod interpreting --quiet as a directory since its not a flag that it accepts.

Steps To Reproduce:

run laravel new <name> --quiet.

API bootstrapping flag

As @taylorotwell mentioned on Twitter he started to work on an --api flag that strips down a new Laravel instance for API needs only.

Since there was no update since November I wanted to ask if it would be possible to put the PR out to the public and if we can support on finishing this feature.

It is already badly needed. ๐Ÿ˜‰

Segmentation fault upon running laravel new command

  • Installer Version: 3.0.1

Description:

Running the command laravel new sitename, I am suddenly receiving a segmentation fault error. Running the composer based command, composer create-project laravel/laravel blog works as expected.

Steps To Reproduce:

  1. Run laravel new sitename
  2. Receive "segmentation fault" error

seg-fault-laravel-new

Could not open input file !!!

I have a problem !! How I can solving this problem ?
Could not open input file: /c/Users/Harry's Laptop/AppData/Roaming/Composer/vendor/laravel/installer/bin/laravel

I got this if using git bash but using cmd I don't got this error. Sorry if my english something wrong. Thank you.

Installer claiming application already exists on an empty directory

  • Installer Version: 4.0.5

Description:

If laravel new is executed on an empty directory, I would expect the installer to build a new empty Laravel 8 project in the current directory. Instead, it throws an Application already exists RuntimeException.

Looking at the code, the installer script already checks if the $directory is the current working directory, but it fails because $directory is not resolved into an absolute path and thus contains "." at the time of execution.

if ((is_dir($directory) || is_file($directory)) && $directory != getcwd())

Steps To Reproduce:

mkdir ~/test && cd ~/test
laravel new

Installer shows a ton of deprecation warnings when run

  • Installer Version: 4.2.9

Description:

Hey guys, I am not sure if this is the issue with Laravel Installer or my machine, but I've been receiving a ton of deprecation errors any time I run the laravel command.

PHP Deprecated:  Return type of Tightenco\Collect\Support\Collection::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/bojan/.composer/vendor/tightenco/collect/src/Collect/Support/Collection.php on line 1411

Deprecated: Return type of Tightenco\Collect\Support\Collection::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/bojan/.composer/vendor/tightenco/collect/src/Collect/Support/Collection.php on line 1411
PHP Deprecated:  Return type of Tightenco\Collect\Support\Collection::offsetGet($key) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/bojan/.composer/vendor/tightenco/collect/src/Collect/Support/Collection.php on line 1422

Deprecated: Return type of Tightenco\Collect\Support\Collection::offsetGet($key) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/bojan/.composer/vendor/tightenco/collect/src/Collect/Support/Collection.php on line 1422
PHP Deprecated:  Return type of Tightenco\Collect\Support\Collection::offsetSet($key, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/bojan/.composer/vendor/tightenco/collect/src/Collect/Support/Collection.php on line 1434

Deprecated: Return type of Tightenco\Collect\Support\Collection::offsetSet($key, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/bojan/.composer/vendor/tightenco/collect/src/Collect/Support/Collection.php on line 1434
PHP Deprecated:  Return type of Tightenco\Collect\Support\Collection::offsetUnset($key) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/bojan/.composer/vendor/tightenco/collect/src/Collect/Support/Collection.php on line 1449

Deprecated: Return type of Tightenco\Collect\Support\Collection::offsetUnset($key) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/bojan/.composer/vendor/tightenco/collect/src/Collect/Support/Collection.php on line 1449
PHP Deprecated:  Return type of Tightenco\Collect\Support\Collection::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/bojan/.composer/vendor/tightenco/collect/src/Collect/Support/Collection.php on line 1366

Deprecated: Return type of Tightenco\Collect\Support\Collection::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/bojan/.composer/vendor/tightenco/collect/src/Collect/Support/Collection.php on line 1366
PHP Deprecated:  Return type of Tightenco\Collect\Support\Collection::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/bojan/.composer/vendor/tightenco/collect/src/Collect/Support/Collection.php on line 1356

Deprecated: Return type of Tightenco\Collect\Support\Collection::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/bojan/.composer/vendor/tightenco/collect/src/Collect/Support/Collection.php on line 1356
PHP Deprecated:  Return type of Tightenco\Collect\Support\Collection::jsonSerialize() should either be compatible with JsonSerializable::jsonSerialize(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/bojan/.composer/vendor/tightenco/collect/src/Collect/Support/Traits/EnumeratesValues.php on line 842

Deprecated: Return type of Tightenco\Collect\Support\Collection::jsonSerialize() should either be compatible with JsonSerializable::jsonSerialize(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/bojan/.composer/vendor/tightenco/collect/src/Collect/Support/Traits/EnumeratesValues.php on line 842
PHP Deprecated:  Return type of Tightenco\Collect\Support\LazyCollection::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/bojan/.composer/vendor/tightenco/collect/src/Collect/Support/LazyCollection.php on line 1350

Deprecated: Return type of Tightenco\Collect\Support\LazyCollection::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/bojan/.composer/vendor/tightenco/collect/src/Collect/Support/LazyCollection.php on line 1350
PHP Deprecated:  Return type of Tightenco\Collect\Support\LazyCollection::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/bojan/.composer/vendor/tightenco/collect/src/Collect/Support/LazyCollection.php on line 1340

Deprecated: Return type of Tightenco\Collect\Support\LazyCollection::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/bojan/.composer/vendor/tightenco/collect/src/Collect/Support/LazyCollection.php on line 1340
PHP Deprecated:  Return type of Tightenco\Collect\Support\LazyCollection::jsonSerialize() should either be compatible with JsonSerializable::jsonSerialize(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/bojan/.composer/vendor/tightenco/collect/src/Collect/Support/Traits/EnumeratesValues.php on line 842

Deprecated: Return type of Tightenco\Collect\Support\LazyCollection::jsonSerialize() should either be compatible with JsonSerializable::jsonSerialize(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/bojan/.composer/vendor/tightenco/collect/src/Collect/Support/Traits/EnumeratesValues.php on line 842

I am using PHP version 8.1.1

Steps To Reproduce:

Run the laravel command in your terminal.

Windows: 'rm' is not recognized as an internal or external command, operable program or batch file.

When attempting to create a new project on Windows - the Installer throws the following error:

'rm' is not recognized as an internal or external command, operable program or batch file.

Reproducable with the following command:
laravel new jetstream --dev --jet

This is noted in Powershell as well as the regular CMD line. A tennative fix for this is using Git BASH.

Potential perm fix for Windows is to use the command "del" instead of "rm" as "rm" is not a native Windows command line command.

laravel new command 403 error how do i solve this?

when I run the "laravel new" command this will show this error every time -

In RequestException.php line 113:
                                                                                 
  Client error: `GET http://cabinet.laravel.com/latest.zip` resulted in a `403   
  Forbidden` response:                                                           
  <!DOCTYPE html>                                                                
  <!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en-US"> <![endif]-->     
  <!--[if IE 7]>    <html class (truncated...)                                   
                                                                                 

new [--dev] [-f|--force] [--] [<name>]

How do i solve this problem?
I didn't face this problem before. This error showed me first time.
And also I am using ubuntu 19.04.

Thank You.

Create new project failing on PHP 7.2

  • Installer Version: 3.0.1

Description:

Running laravel new blog on PHP 7.2 results in error

Problem 1
    - Installation request for mockery/mockery 1.4.0 -> satisfiable by mockery/mockery[1.4.0].
    - mockery/mockery 1.4.0 requires php ^7.3.0 -> your PHP version (7.2.23) does not satisfy that requirement.

See: https://stackoverflow.com/questions/61900738/laravel-new-blog-not-work-mockery-mockery-1-4-0/61900857

Steps To Reproduce:

Run laravel new blog on PHP 7.2

Solution:

Looks like the files on cabinet.laravel.com have correct composer.json files (i.e. they contain "mockery/mockery": "^1.3.1"), however they must have been prepared in an environment with a higher PHP version, because the composer.lock files list a version 1.4 mockery, which requires PHP 7.3 or higher.

Either change line 66 of NewCommand.php to be update instead of install, or fix the files on cabinet.laravel.com

'rm' is not recognized as an internal or external command, operable program or batch file.

  • Installer Version: 4.0.0

Description:

After installing the new laravel installer. Creating a new project resulted in error:
'rm' is not recognized as an internal or external command, operable program or batch file.
The issues appears on my windows 10 machine.

Steps To Reproduce:

Run in the following commands:

  1. composer global remove laravel/installer
  2. composer global require laravel/installer
  3. laravel new demo

Allow to push the new repository on Gitlab

Like the --github option, it would be usefull to have an option --gitlab, with an optional value --public, allowing to push to Gitlab.
The --organization option can be used at the same time.

For example:
laravel new example-app --gitlab="--public" --organization="laravel"

Install in current directory

In some scenario's it's useful to create a new project in the current directory.
I know the installer doesn't allow "." as directory name, but is there a special reason why?

I commented out this part of installer/src/NewCommand.php and it works perfectly fine.

if (! $input->getOption('force')) {
  $this->verifyApplicationDoesntExist($directory);
}

if ($input->getOption('force') && $directory === '.') {
  throw new RuntimeException('Cannot use --force option when using current directory for installation!');
}

Laravel 6.0 support

When is the release for laravel 6 coming out? The latest release only installs 5.8.

Cannot install latest Laravel 9.0 when my /usr/bin/php points to php7.4

  • Installer Version: 4.2.10

Description:

I have the alias setup so that i run the installer with the correct PHP version:
alias laravel="/usr/bin/php8.1 ~/.config/composer/vendor/bin/laravel"

when I run "laravel new test", I get laravel/framework version 8.6.11
But
if i set default php version using
"sudo update-alternatives --set php /usr/bin/php8.1" and then run "laravel new test", i get the laravel 9.0 framwork

Steps To Reproduce:

  1. install php 7.4 alongside php 8.1
  2. Set php7.4 as default (update-alternatives --set php /usr/bin/php7.4)
  3. Run laravel installer with php8.1 (/usr/bin/php8.1 ~/.config/composer/vendor/bin/laravel new test)
  4. Project will be created uising the old framework (8.6.11)

Expected results:

  1. Laravel/framework 9.0 should be used.

Installer crashes with combination of --jet and -n

  • Installer Version: 4.0.1

Description:

When using non-interactive mode, the installer crashes

PHP Fatal error: Uncaught TypeError: Argument 2 passed to Laravel\Installer\Console\NewCommand::installJetstream() must be of the type string, null given, called in /Users/mark/.composer/vendor/laravel/installer/src/NewCommand.php on line 116 and defined in /Users/mark/.composer/vendor/laravel/installer/src/NewCommand.php:135

Steps To Reproduce:

laravel new myproject --dev --jet -n

Installer requires decisions about jetstream (livewire/inertia, teams) but there does not seem to be a way to provide these answers when non-interactive

JetStream and Teams not getting installed when passed as arguments

  • Installer Version: 4.0.5

Description:

when running laravel new ProjectName --jet or laravel new ProjectName --jet --teams the installer just installs a normal laravel 8 project.
The JetStream Asci art appears with the Stack question, but that's everything you see in terms of jetstream.

Steps To Reproduce:

run laravel new ProjectName --jet or laravel new ProjectName --jet on Windows 10 (2004).

Error to execute laravel new

  • Installer Version: 3.0.1

Description:

I execute laravel new lara-8 and get this error within homestead

Steps To Reproduce:

image

Change app.php when installed Jetstream

When installing with JetStream, the following lines should be add in app.php:

App\Providers\FortifyServiceProvider::class, 
App\Providers\JetstreamServiceProvider::class,

image

'rm' command not reconized on windows when running with --jet flag and selecting inertia with no teams

  • Installer Version: 4.0.0

Description:

The following error is produced when running the command laravel new test-jet-projec --jet and selecting Inertia with no teams in a Windows terminal.

Steps To Reproduce:

  1. Open windows terminal.
  2. Type laravel new test-jet-projec --jet and hit enter.
  3. Select option 1 (inertia).
  4. Select n (no).

If you followed these steps, you should recieve the following error:

'rm' is not recognized as an internal or external command,
operable program or batch file.

Cannot create project (chdir(): No such file or directory (errno 2))

  • Installer Version: 4.1.0

Description:

Whenever I run laravel new <project_name> command it throw that error. I'm also running on composer version 2 (2.0.5). I also saw that it want to create a project in this path Created project in I:\Programming Project\Laravel/blog is it supposed to be Created project in I:\Programming Project\Laravel\blog instead?

Steps To Reproduce:

Run laravel new <project_name>

Project directory is not empty (with --force)

  • Installer Version: 4.0.0

Description:

Error trying to create new app, even with --force option

Steps To Reproduce:

  • create a directory /var/www/app/ and place any file inside it
  • cd /var/www/app/
  • Run laravel new --dev
  • Also tried laravel new --force --dev
  [InvalidArgumentException]                        
  Project directory "/var/www/app/." is not empty.

Note 1: did not pass "app name" because I want app crafted on root folder /var/ww/app
Note 2: that works on previous version of Laravel Installer

Fails if path contains japanese characters

  • Installer Version: 4.0.5

Description:

Installer fails if path contains japanese characters.

image

Steps To Reproduce:

  1. Create arbitrary directory with japanese characters (i.e. ใ‚ใ‚ŠใŒใจใ†)
  2. Call laravel new app --jet inside the directory
  3. Observe bug

'rm' is not recognized as an internal or external command, operable program or batch file.

  • Installer Version: 4.0.0

Description:

when installing laravel jetstream project from power-shell in windows 10 it gives me this error :

`'rm' is not recognized as an internal or external command, operable program or batch file.

it works as expected when using git bash though
`

Steps To Reproduce:

  1. open power-shell on windows 10

  2. type : laravel new project --jet

  3. select inertia as your stack

  4. the error will appear weather you choose teams feature or not ..

[3.x] Zip folder downloaded from this installer contains a `composer.lock`

  • Installer Version: latest

Description:

The zip folder downloaded from this installer contains a composer.lock created from the machine where the zip file was originally created.

The problem is: when perform a laravel new app, the exact dependencies of that composer.lock file may not match a PHP version of the target machine.

Steps To Reproduce:

Perform a laravel new app on a machine with php v7.2.5, and you will get this:

EJ7R7d5WoAE6eXx

Solution

Remove the composer.lock from those zip files to mimicate the bahavior of the normal composer create-project command.

Can't install on PHP 7.4

  • Installer Version: 4.0.0

Description:

Can't install when running PHP 7.4.

Steps To Reproduce:

screenshot

Trouble updating from 2.3.0 to Latest

  • Installer Version: 2.3.0

Description:

I wanted to update the installer so that I could use the new JetStrap options.

Steps To Reproduce:

I ran laravel --version giving me 2.3.0

Then I ran composer global update laravel/installer

Resulting in:

Changed current directory to /Users/adampatterson/.composer
Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Package laravel/lumen-installer is abandoned, you should avoid using it. No replacement was suggested.
Generating autoload files

So I ran composer global require laravel/installer

Resulting in:

Changed current directory to /Users/adampatterson/.composer
Using version ^4.0 for laravel/installer
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Conclusion: don't install laravel/installer v4.0.3
    - Conclusion: don't install laravel/installer v4.0.2
    - Conclusion: don't install laravel/installer v4.0.1
    - Conclusion: remove symfony/process v3.4.4
    - Installation request for laravel/installer ^4.0 -> satisfiable by laravel/installer[v4.0.0, v4.0.1, v4.0.2, v4.0.3].
    - Conclusion: don't install symfony/process v3.4.4
    - laravel/installer v4.0.0 requires symfony/process ^4.2|^5.0 -> satisfiable by symfony/process[v4.2.0, v4.2.1, v4.2.10, v4.2.11, v4.2.12, v4.2.2, v4.2.3, v4.2.4, v4.2.5, v4.2.6, v4.2.7, v4.2.8, v4.2.9, v4.3.0, v4.3.1, v4.3.10, v4.3.11, v4.3.2, v4.3.3, v4.3.4, v4.3.5, v4.3.6, v4.3.7, v4.3.8, v4.3.9, v4.4.0, v4.4.1, v4.4.10, v4.4.11, v4.4.12, v4.4.13, v4.4.2, v4.4.3, v4.4.4, v4.4.5, v4.4.6, v4.4.7, v4.4.8, v4.4.9, v5.0.0, v5.0.1, v5.0.10, v5.0.11, v5.0.2, v5.0.3, v5.0.4, v5.0.5, v5.0.6, v5.0.7, v5.0.8, v5.0.9, v5.1.0, v5.1.1, v5.1.2, v5.1.3, v5.1.4, v5.1.5].
    - Can only install one of: symfony/process[v4.2.0, v3.4.4].
    - Can only install one of: symfony/process[v4.2.1, v3.4.4].
    - Can only install one of: symfony/process[v4.2.10, v3.4.4].
    - Can only install one of: symfony/process[v4.2.11, v3.4.4].
    - Can only install one of: symfony/process[v4.2.12, v3.4.4].
    - Can only install one of: symfony/process[v4.2.2, v3.4.4].
    - Can only install one of: symfony/process[v4.2.3, v3.4.4].
    - Can only install one of: symfony/process[v4.2.4, v3.4.4].
    - Can only install one of: symfony/process[v4.2.5, v3.4.4].
    - Can only install one of: symfony/process[v4.2.6, v3.4.4].
    - Can only install one of: symfony/process[v4.2.7, v3.4.4].
    - Can only install one of: symfony/process[v4.2.8, v3.4.4].
    - Can only install one of: symfony/process[v4.2.9, v3.4.4].
    - Can only install one of: symfony/process[v4.3.0, v3.4.4].
    - Can only install one of: symfony/process[v4.3.1, v3.4.4].
    - Can only install one of: symfony/process[v4.3.10, v3.4.4].
    - Can only install one of: symfony/process[v4.3.11, v3.4.4].
    - Can only install one of: symfony/process[v4.3.2, v3.4.4].
    - Can only install one of: symfony/process[v4.3.3, v3.4.4].
    - Can only install one of: symfony/process[v4.3.4, v3.4.4].
    - Can only install one of: symfony/process[v4.3.5, v3.4.4].
    - Can only install one of: symfony/process[v4.3.6, v3.4.4].
    - Can only install one of: symfony/process[v4.3.7, v3.4.4].
    - Can only install one of: symfony/process[v4.3.8, v3.4.4].
    - Can only install one of: symfony/process[v4.3.9, v3.4.4].
    - Can only install one of: symfony/process[v4.4.0, v3.4.4].
    - Can only install one of: symfony/process[v4.4.1, v3.4.4].
    - Can only install one of: symfony/process[v4.4.10, v3.4.4].
    - Can only install one of: symfony/process[v4.4.11, v3.4.4].
    - Can only install one of: symfony/process[v4.4.12, v3.4.4].
    - Can only install one of: symfony/process[v4.4.13, v3.4.4].
    - Can only install one of: symfony/process[v4.4.2, v3.4.4].
    - Can only install one of: symfony/process[v4.4.3, v3.4.4].
    - Can only install one of: symfony/process[v4.4.4, v3.4.4].
    - Can only install one of: symfony/process[v4.4.5, v3.4.4].
    - Can only install one of: symfony/process[v4.4.6, v3.4.4].
    - Can only install one of: symfony/process[v4.4.7, v3.4.4].
    - Can only install one of: symfony/process[v4.4.8, v3.4.4].
    - Can only install one of: symfony/process[v4.4.9, v3.4.4].
    - Can only install one of: symfony/process[v5.0.0, v3.4.4].
    - Can only install one of: symfony/process[v5.0.1, v3.4.4].
    - Can only install one of: symfony/process[v5.0.10, v3.4.4].
    - Can only install one of: symfony/process[v5.0.11, v3.4.4].
    - Can only install one of: symfony/process[v5.0.2, v3.4.4].
    - Can only install one of: symfony/process[v5.0.3, v3.4.4].
    - Can only install one of: symfony/process[v5.0.4, v3.4.4].
    - Can only install one of: symfony/process[v5.0.5, v3.4.4].
    - Can only install one of: symfony/process[v5.0.6, v3.4.4].
    - Can only install one of: symfony/process[v5.0.7, v3.4.4].
    - Can only install one of: symfony/process[v5.0.8, v3.4.4].
    - Can only install one of: symfony/process[v5.0.9, v3.4.4].
    - Can only install one of: symfony/process[v5.1.0, v3.4.4].
    - Can only install one of: symfony/process[v5.1.1, v3.4.4].
    - Can only install one of: symfony/process[v5.1.2, v3.4.4].
    - Can only install one of: symfony/process[v5.1.3, v3.4.4].
    - Can only install one of: symfony/process[v5.1.4, v3.4.4].
    - Can only install one of: symfony/process[v5.1.5, v3.4.4].
    - Installation request for symfony/process (locked at v3.4.4) -> satisfiable by symfony/process[v3.4.4].


Installation failed, reverting ./composer.json to its original content.

Add PHP 8 Support

If i want to install the installer i get

Your requirements could not be resolved to an installable set of packages.

Problem 1
- illuminate/support v6.18.41 requires php ^7.2 -> your php version (8.0.0) does not satisfy that requirement.
- laravel/envoy v1.6.5 requires illuminate/support ~4.1 || ~5.0 || ^6.0 -> satisfiable by illuminate/support[v6.18.41].
- laravel/envoy is locked to version v1.6.5 and an update of this package was not requested.

Installation failed, reverting ./composer.json and ./composer.lock to their original content.

Problem when the windows user contains a space

  • Installer Version: 4.0.0

Description:

When executing "laravel new Project" an error is indicated.

I think it is related to the fact that the user name windows contains a space.

Steps To Reproduce:

laravel new Project

Error message

Creating a "laravel/laravel" project at "../../../../../***FIRSTNAME***"

 [UnexpectedValueException]
 Could not parse version constraint ***LASTNAME***\Desktop\test\laravel-dev/Project: Invalid version string "***LASTNAME***\Desktop\test\laravel-dev/Project"

Fatal error: Uncaught Error: Class 'Symfony\Component\Console\Question\ConfirmationQuestion

  • Installer Version: 4.0.4

Description:

I try to install a new project with --jet.
And I get this:

Fatal error: Uncaught Error: Class 'Symfony\Component\Console\Question\ConfirmationQuestion' not found in C:\Users\ร—๏ฟฝร—ล“ร—ยขร—โ€œ\AppData\Roaming\Composer\vendor\symfony\console\Style\SymfonyStyle.php on line 283

Error: Class 'Symfony\Component\Console\Question\ConfirmationQuestion' not found in C:\Users\ร—๏ฟฝร—ล“ร—ยขร—โ€œ\AppData\Roaming\Composer\vendor\symfony\console\Style\SymfonyStyle.php on line 283

Call Stack:
0.0004 399672 1. {main}() C:\Users\ร—๏ฟฝร—ล“ร—ยขร—โ€œ\AppData\Roaming\Composer\vendor\laravel\installer\bin\laravel:0
0.0139 1283904 2. Symfony\Component\Console\Application->run() C:\Users\ร—๏ฟฝร—ล“ร—ยขร—โ€œ\AppData\Roaming\Composer\vendor\laravel\installer\bin\laravel:13
0.0520 1547136 3. Symfony\Component\Console\Application->doRun() C:\Users\ร—๏ฟฝร—ล“ร—ยขร—โ€œ\AppData\Roaming\Composer\vendor\symfony\console\Application.php:140
0.0537 1624912 4. Symfony\Component\Console\Application->doRunCommand() C:\Users\ร—๏ฟฝร—ล“ร—ยขร—โ€œ\AppData\Roaming\Composer\vendor\symfony\console\Application.php:264
0.0537 1624912 5. Laravel\Installer\Console\NewCommand->run() C:\Users\ร—๏ฟฝร—ล“ร—ยขร—โ€œ\AppData\Roaming\Composer\vendor\symfony\console\Application.php:916
0.0541 1626720 6. Laravel\Installer\Console\NewCommand->execute() C:\Users\ร—๏ฟฝร—ล“ร—ยขร—โ€œ\AppData\Roaming\Composer\vendor\symfony\console\Command\Command.php:258
2.4053 1873016 7. Symfony\Component\Console\Style\SymfonyStyle->confirm() C:\Users\ร—๏ฟฝร—ล“ร—ยขร—โ€œ\AppData\Roaming\Composer\vendor\laravel\installer\src\NewCommand.php:55

Variables in local scope (#7):
$default = FALSE
$question = 'Will your application use teams?'

Can't install installer, composer cannot resolve packages

  • Installer Version: 3.0.1

Description:

Upon attempting to install the installer as per documentation, composer reports the following:

Your requirements could not be resolved to an installable set of packages.

From what I can see, this is due to symfony/console being locked at v3.2.7 whilst the installer requires symfony/console ^4.0|^5.0

Steps To Reproduce:

composer global require laravel/installer

Weird laravel installer output

  • Installer Version: 4.0.0 & 4.0.1

Description:

When using the new laravel v4 installer on windows native command line (or "Cmder" in my case), there's weird output on the console when creating a new laravel project, namelly when echoing "DownDownDownDownloading (x%)" or even "Loading from cache".

Steps To Reproduce:

Start a new laravel project by typing: laravel new laravel8-dev --jet --dev

Output


    |     |         |
    |,---.|--- ,---.|--- ,---.,---.,---.,-.-.
    ||---'|    `---.|    |    |---',---|| | |
`---'`---'`---'`---'`---'`    `---'`---^` ' '


Which Jetstream stack do you prefer?
  [0] livewire
  [1] inertia
 > 0
0

 Will your application use teams? (yes/no) [no]:
 > yes

    Creating a "laravel/laravel" project at "./laravel8-dev"
    Installing laravel/laravel (dev-develop 7895cd3a5f3c0ac0e8d0c4b2197f06014dcf52d6)
  - Installing laravel/laravel (dev-develop 7895cd3):     Loading from cache
    Created project in C:\laragon\www/laravel8-dev
> @php -r "file_exists('.env') || copy('.env.example', '.env');"
    Loading composer repositories with package information
    Updating dependencies (including require-dev)
    Package operations: 106 installs, 0 updates, 0 removals
  - Installing voku/portable-ascii (1.5.3):     Loading from cache
      - Installing symfony/polyfill-php80 (v1.18.1): Loading from cache
      - Installing symfony/polyfill-mbstring (v1.18.1): Loading from cache
      - Installing symfony/polyfill-ctype (v1.18.1): Loading from cache
      - Installing phpoption/phpoption (1.7.5): Loading from cache
      - Installing graham-campbell/result-type (v1.0.1): Loading from cache
      - Installing vlucas/phpdotenv (v5.1.0): Loading from cache
      - Installing symfony/css-selector (v5.1.5): Loading from cache
      - Installing tijsverkoyen/css-to-inline-styles (2.2.3): Loading from cache
      - Installing symfony/var-dumper (v5.1.5):     Loading from cache
      - Installing symfony/deprecation-contracts (v2.1.3): Loading from cache
      - Installing symfony/routing (v5.1.5): Loading from cache
      - Installing symfony/process (v5.1.5): Loading from cache
      - Installing symfony/polyfill-php72 (v1.18.1): Loading from cache
      - Installing paragonie/random_compat (v9.99.99): Loading from cache
      - Installing symfony/polyfill-php70 (v1.18.1): Loading from cache
      - Installing symfony/polyfill-intl-normalizer (v1.18.1): Loading from cache
      - Installing symfony/polyfill-intl-idn (v1.18.1): Loading from cache
      - Installing symfony/mime (v5.1.5): Loading from cache
      - Installing symfony/polyfill-intl-grapheme (v1.18.1): Loading from cache
      - Installing symfony/string (v5.1.5):     Loading from cache
      - Installing phpdocumentor/reflection-common (2.2.0): Loading from cache
      - Installing webmozart/assert (1.9.1): Loading from cache
      - Installing phpdocumentor/type-resolver (1.3.0): Loading from cache
      - Installing phpdocumentor/reflection-docblock (5.2.1):     Loading from cache
      - Installing psr/log (1.1.3): Loading from cache
      - Installing symfony/polyfill-php73 (v1.18.1): Loading from cache
      - Installing symfony/http-foundation (v5.1.5): Loading from cache
      - Installing psr/event-dispatcher (1.0.0): Loading from cache
      - Installing symfony/event-dispatcher-contracts (v2.1.3): Loading from cache
      - Installing symfony/event-dispatcher (v5.1.5):     Loading from cache
      - Installing symfony/error-handler (v5.1.5): Loading from cache
      - Installing symfony/http-kernel (v5.1.5):     Loading from cache
      - Installing symfony/finder (v5.1.5):     Loading from cache
      - Installing psr/container (1.0.0): Loading from cache
      - Installing symfony/service-contracts (v2.1.3): Loading from cache
      - Installing symfony/console (v5.1.5): Loading from cache
      - Installing symfony/polyfill-iconv (v1.18.1): Loading from cache
      - Installing doctrine/lexer (1.2.1): Loading from cache
      - Installing egulias/email-validator (2.1.20): Loading from cache
      - Installing swiftmailer/swiftmailer (v6.2.3): Loading from cache
      - Installing brick/math (0.9.1): Loading from cache
      - Installing ramsey/collection (1.1.0): Loading from cache
      - Installing ramsey/uuid (4.1.1): Loading from cache
      - Installing psr/simple-cache (1.0.1): DownDownloading (100%)
      - Installing opis/closure (3.5.7): DownDownDownloading (100%)
      - Installing symfony/translation-contracts (v2.1.3): DownDownloading (100%)
      - Installing symfony/translation (v5.1.5): DownDownloading (100%)
      - Installing nesbot/carbon (2.39.1):     DownDownDownloading (100%)
      - Installing monolog/monolog (2.1.1): DownDownDownloading (100%)
      - Installing league/mime-type-detection (1.4.0): DownDownloading (100%)
      - Installing league/flysystem (1.1.3): DownDownloading (100%)
      - Installing league/commonmark (1.5.4): DownDownDownloading (100%)
      - Installing dragonmantank/cron-expression (3.0.1): DownDownloading (100%)
      - Installing doctrine/inflector (2.0.3): DownDownDownloading (100%)
      - Installing laravel/framework (8.x-dev 9141ccd): DownDownloading (100%)
      - Installing fideloper/proxy (4.4.0): DownDownloading (100%)
      - Installing asm89/stack-cors (v2.0.1): DownDownloading (100%)
      - Installing fruitcake/laravel-cors (v2.0.2): DownDownloading (100%)
      - Installing psr/http-message (1.0.1): DownDownloading (100%)
      - Installing psr/http-client (1.0.1): DownDownloading (100%)
      - Installing ralouphie/getallheaders (3.0.3): DownDownloading (100%)
      - Installing guzzlehttp/psr7 (1.6.1): DownDownloading (100%)
      - Installing guzzlehttp/promises (v1.3.1): DownDownloading (100%)
      - Installing guzzlehttp/guzzle (7.0.1): DownDownDownloading (100%)
      - Installing dnoegel/php-xdg-base-dir (v0.1.1): DownDownloading (100%)
      - Installing nikic/php-parser (v4.9.1): DownDownDownloading (100%)
      - Installing psy/psysh (v0.10.4): DownDownDownloading (100%)
      - Installing laravel/tinker (v2.4.2): DownDownloading (100%)
      - Installing scrivo/highlight.php (v9.18.1.2): DownDownDownloading (100%)
      - Installing filp/whoops (2.7.3): DownDownDownDownloading (100%)
      - Installing facade/ignition-contracts (1.0.1): DownDownloading (100%)
      - Installing facade/flare-client-php (1.3.5): DownDownloading (100%)
      - Installing facade/ignition (2.3.7): DownDownDownDownloading (100%)
      - Installing fzaninotto/faker (v1.9.1): DownDownDownDownDownDownloading (100%)
      - Installing hamcrest/hamcrest-php (v2.0.1): DownDownDownloading (100%)
      - Installing mockery/mockery (1.4.2): DownDownloading (100%)
      - Installing nunomaduro/collision (v5.0.2): DownDownloading (100%)
      - Installing sebastian/version (3.0.1): DownDownloading (100%)
      - Installing sebastian/type (2.2.1): DownDownloading (100%)
      - Installing sebastian/resource-operations (3.0.2): DownDownDownloading (100%)
      - Installing sebastian/recursion-context (4.0.2): DownDownloading (100%)
      - Installing sebastian/object-reflector (2.0.2): DownDownloading (100%)
      - Installing sebastian/object-enumerator (4.0.2): DownDownloading (100%)
      - Installing sebastian/global-state (5.0.0): DownDownloading (100%)
      - Installing sebastian/exporter (4.0.2): DownDownloading (100%)
      - Installing sebastian/environment (5.1.2): DownDownloading (100%)
      - Installing sebastian/diff (4.0.2): DownDownDownloading (100%)
      - Installing sebastian/comparator (4.0.3): DownDownDownloading (100%)
      - Installing sebastian/code-unit (1.0.5): DownDownloading (100%)
      - Installing sebastian/cli-parser (1.0.0): DownDownloading (100%)
      - Installing phpunit/php-timer (5.0.1): DownDownloading (100%)
      - Installing phpunit/php-text-template (2.0.2): DownDownloading (100%)
      - Installing phpunit/php-invoker (3.1.0): DownDownloading (100%)
      - Installing phpunit/php-file-iterator (3.0.4): DownDownloading (100%)
      - Installing sebastian/complexity (2.0.0): DownDownloading (100%)
      - Installing sebastian/lines-of-code (1.0.0): DownDownloading (100%)
      - Installing theseer/tokenizer (1.2.0): DownDownloading (100%)
      - Installing sebastian/code-unit-reverse-lookup (2.0.2): DownDownloading (100%)
      - Installing phpunit/php-code-coverage (9.1.8): DownDownDownloading (100%)
      - Installing doctrine/instantiator (1.3.1): DownDownloading (100%)
      - Installing phpspec/prophecy (1.11.1): DownDownloading (100%)
      - Installing phar-io/version (3.0.2): DownDownloading (100%)
      - Installing phar-io/manifest (2.0.1): DownDownloading (100%)
      - Installing myclabs/deep-copy (1.10.1): DownDownloading (100%)
      - Installing phpunit/phpunit (9.3.8): DownDownDownDownDownDownloading (100%)
    symfony/routing suggests installing symfony/config (For using the all-in-one router or any loader)
symfony/routing suggests installing symfony/yaml (For using the YAML loader)
symfony/routing suggests installing symfony/expression-language (For using expression matching)
symfony/routing suggests installing doctrine/annotations (For using the annotation loader)
paragonie/random_compat suggests installing ext-libsodium (Provides a modern crypto API that can be used to generate random bytes.)
symfony/event-dispatcher suggests installing symfony/dependency-injection
symfony/http-kernel suggests installing symfony/browser-kit
symfony/http-kernel suggests installing symfony/config
symfony/http-kernel suggests installing symfony/dependency-injection
symfony/service-contracts suggests installing symfony/service-implementation
symfony/console suggests installing symfony/lock
swiftmailer/swiftmailer suggests installing true/punycode (Needed to support internationalized email addresses, if ext-intl is not installed)
ramsey/uuid suggests installing ext-gmp (Enables faster math with arbitrary-precision integers using GMP.)
ramsey/uuid suggests installing ext-uuid (Enables the use of PeclUuidTimeGenerator and PeclUuidRandomGenerator.)
ramsey/uuid suggests installing ramsey/uuid-doctrine (Allows the use of Ramsey\Uuid\Uuid as Doctrine field type.)
ramsey/uuid suggests installing paragonie/random-lib (Provides RandomLib for use with the RandomLibAdapter)
symfony/translation suggests installing symfony/config
symfony/translation suggests installing symfony/yaml
monolog/monolog suggests installing graylog2/gelf-php (Allow sending log messages to a GrayLog2 server)
monolog/monolog suggests installing doctrine/couchdb (Allow sending log messages to a CouchDB server)
monolog/monolog suggests installing ruflin/elastica (Allow sending log messages to an Elastic Search server)
monolog/monolog suggests installing elasticsearch/elasticsearch (Allow sending log messages to an Elasticsearch server via official client)
monolog/monolog suggests installing php-amqplib/php-amqplib (Allow sending log messages to an AMQP server using php-amqplib)
monolog/monolog suggests installing ext-amqp (Allow sending log messages to an AMQP server (1.0+ required))
monolog/monolog suggests installing ext-mongodb (Allow sending log messages to a MongoDB server (via driver))
monolog/monolog suggests installing mongodb/mongodb (Allow sending log messages to a MongoDB server (via library))
monolog/monolog suggests installing aws/aws-sdk-php (Allow sending log messages to AWS services like DynamoDB)
monolog/monolog suggests installing rollbar/rollbar (Allow sending log messages to Rollbar)
monolog/monolog suggests installing php-console/php-console (Allow sending log messages to Google Chrome)
league/flysystem suggests installing league/flysystem-eventable-filesystem (Allows you to use EventableFilesystem)
league/flysystem suggests installing league/flysystem-rackspace (Allows you to use Rackspace Cloud Files)
league/flysystem suggests installing league/flysystem-azure (Allows you to use Windows Azure Blob storage)
league/flysystem suggests installing league/flysystem-webdav (Allows you to use WebDAV storage)
league/flysystem suggests installing league/flysystem-aws-s3-v2 (Allows you to use S3 storage with AWS SDK v2)
league/flysystem suggests installing league/flysystem-aws-s3-v3 (Allows you to use S3 storage with AWS SDK v3)
league/flysystem suggests installing spatie/flysystem-dropbox (Allows you to use Dropbox storage)
league/flysystem suggests installing srmklive/flysystem-dropbox-v2 (Allows you to use Dropbox storage for PHP 5 applications)
league/flysystem suggests installing league/flysystem-cached-adapter (Flysystem adapter decorator for metadata caching)
league/flysystem suggests installing ext-ftp (Allows you to use FTP server storage)
league/flysystem suggests installing league/flysystem-sftp (Allows you to use SFTP server storage via phpseclib)
league/flysystem suggests installing league/flysystem-ziparchive (Allows you to use ZipArchive adapter)
laravel/framework suggests installing ext-ftp (Required to use the Flysystem FTP driver.)
laravel/framework suggests installing ext-memcached (Required to use the memcache cache driver.)
laravel/framework suggests installing ext-pcntl (Required to use all features of the queue worker.)
laravel/framework suggests installing ext-posix (Required to use all features of the queue worker.)
laravel/framework suggests installing ext-redis (Required to use the Redis cache and queue drivers (^4.0|^5.0).)
laravel/framework suggests installing aws/aws-sdk-php (Required to use the SQS queue driver, DynamoDb failed job storage and SES mail driver (^3.0).)
laravel/framework suggests installing doctrine/dbal (Required to rename columns and drop SQLite columns (^2.6).)
laravel/framework suggests installing league/flysystem-aws-s3-v3 (Required to use the Flysystem S3 driver (^1.0).)
laravel/framework suggests installing league/flysystem-cached-adapter (Required to use the Flysystem cache (^1.0).)
laravel/framework suggests installing league/flysystem-sftp (Required to use the Flysystem SFTP driver (^1.0).)
laravel/framework suggests installing nyholm/psr7 (Required to use PSR-7 bridging features (^1.2).)
laravel/framework suggests installing pda/pheanstalk (Required to use the beanstalk queue driver (^4.0).)
laravel/framework suggests installing predis/predis (Required to use the predis connector (^1.1.2).)
laravel/framework suggests installing pusher/pusher-php-server (Required to use the Pusher broadcast driver (^4.0).)
laravel/framework suggests installing symfony/cache (Required to PSR-6 cache bridge (^5.1).)
laravel/framework suggests installing symfony/filesystem (Required to enable support for relative symbolic links (^5.1).)
laravel/framework suggests installing symfony/psr-http-message-bridge (Required to use PSR-7 bridging features (^2.0).)
laravel/framework suggests installing wildbit/swiftmailer-postmark (Required to use Postmark mail driver (^3.0).)
guzzlehttp/psr7 suggests installing zendframework/zend-httphandlerrunner (Emit PSR-7 responses)
psy/psysh suggests installing ext-pcntl (Enabling the PCNTL extension makes PsySH a lot happier :))
psy/psysh suggests installing ext-posix (If you have PCNTL, you'll want the POSIX extension as well.)
psy/psysh suggests installing ext-pdo-sqlite (The doc command requires SQLite to work.)
psy/psysh suggests installing hoa/console (A pure PHP readline implementation. You'll want this if your PHP install doesn't already support readline or libedit.)
filp/whoops suggests installing whoops/soap (Formats errors as SOAP responses)
facade/ignition suggests installing laravel/telescope (^3.1)
sebastian/global-state suggests installing ext-uopz (*)
sebastian/environment suggests installing ext-posix (*)
phpunit/php-invoker suggests installing ext-pcntl (*)
phpunit/php-code-coverage suggests installing ext-pcov (*)
phpunit/php-code-coverage suggests installing ext-xdebug (*)
phpunit/phpunit suggests installing ext-soap (*)
phpunit/phpunit suggests installing ext-xdebug (*)
Writing lock file
Generating optimized autoload files
    > Illuminate\Foundation\ComposerScripts::postAutoloadDump
    > @php artisan package:discover --ansi
    Discovered Package: facade/ignition
Discovered Package: fideloper/proxy
Discovered Package: fruitcake/laravel-cors
Discovered Package: laravel/tinker
Discovered Package: nesbot/carbon
Discovered Package: nunomaduro/collision
Package manifest generated successfully.
    71 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
    > @php artisan key:generate --ansi
    Application key set successfully.
    Using version ^0.7.0 for laravel/jetstream
./composer.json has been updated
    Loading composer repositories with package information
    Updating dependencies (including require-dev)
    Package operations: 11 installs, 0 updates, 0 removals
      - Installing symfony/polyfill-util (v1.18.1): DownDownloading (100%)
      - Installing symfony/polyfill-php56 (v1.18.1): DownDownloading (100%)
      - Installing paragonie/constant_time_encoding (v2.3.0): DownDownloading (100%)
      - Installing pragmarx/google2fa (v7.0.0): DownDownDownloading (100%)
      - Installing dasprid/enum (1.0.2): DownDownDownloading (100%)
      - Installing bacon/bacon-qr-code (2.0.2): DownDownloading (100%)
      - Installing laravel/fortify (v0.0.1): DownDownloading (100%)
      - Installing jaybizzle/crawler-detect (v1.2.99): DownDownloading (100%)
      - Installing mobiledetect/mobiledetectlib (2.8.34): DownDownDownloading (100%)
      - Installing jenssegers/agent (v2.6.4): DownDownloading (100%)
      - Installing laravel/jetstream (v0.7.0): DownDownloading (100%)
    bacon/bacon-qr-code suggests installing ext-imagick (to generate QR code images)
    Writing lock file
Generating optimized autoload files
    > Illuminate\Foundation\ComposerScripts::postAutoloadDump
    > @php artisan package:discover --ansi
    Discovered Package: facade/ignition
Discovered Package: fideloper/proxy
Discovered Package: fruitcake/laravel-cors
Discovered Package: jenssegers/agent
Discovered Package: laravel/fortify
Discovered Package: laravel/jetstream
Discovered Package: laravel/tinker
Discovered Package: nesbot/carbon
Discovered Package: nunomaduro/collision
Package manifest generated successfully.
    74 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
    Migration created successfully!
    ./composer.json has been updated
    Loading composer repositories with package information
    Updating dependencies (including require-dev)
    Package operations: 2 installs, 0 updates, 0 removals
      - Installing laravel/sanctum (v2.6.0): DownDownloading (100%)
      - Installing livewire/livewire (v2.0.4): DownDownloading (100%)
    Writing lock file
Generating optimized autoload files
    > Illuminate\Foundation\ComposerScripts::postAutoloadDump
    > @php artisan package:discover --ansi
    Discovered Package: facade/ignition
Discovered Package: fideloper/proxy
Discovered Package: fruitcake/laravel-cors
Discovered Package: jenssegers/agent
Discovered Package: laravel/fortify
Discovered Package: laravel/jetstream
Discovered Package: laravel/sanctum
Discovered Package: laravel/tinker
Discovered Package: livewire/livewire
Discovered Package: nesbot/carbon
Discovered Package: nunomaduro/collision
Package manifest generated successfully.
75 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
    Copied Directory [\vendor\laravel\sanctum\database\migrations] To [\database\migrations]
Copied File [\vendor\laravel\sanctum\config\sanctum.php] To [\config\sanctum.php]
Publishing complete.

Livewire scaffolding installed successfully.
Please execute the "npm install && npm run dev" command to build your assets.
    The [C:\laragon\www\laravel8-dev\public\storage] link has been connected to [C:\laragon\www\laravel8-dev\storage\app/public].
The links have been created.

Application ready! Build something amazing.

[Feature request] Check server requirements before creating any files and directories

When I create new app with laravel new myapp I get an error:

Your requirements could not be resolved to an installable set of packages.

Problem 1

  • phpunit/phpunit 9.4.x-dev requires ext-dom * -> the requested PHP extension dom is missing from your system.
    ...

I know this is a one time issue and goes away with installing missing php extensions, but would it be possible to do this checking before creating any app folders including /myapp?

Can't use Laravel Installer with Laravel Homestead anymore

  • Installer Version: 4.0.5

Description:

When trying to create a new project in a directory mapped into a Laravel Homestead machine the following error is shown when attempting to create a Laravel project in said directory using the --force flag

vagrant@homestead:~$ laravel new --force packages

 _                               _
| |                             | |
| |     __ _ _ __ __ ___   _____| |
| |    / _` | '__/ _` \ \ / / _ \ |
| |___| (_| | | | (_| |\ V /  __/ |
|______\__,_|_|  \__,_| \_/ \___|_|

rm: cannot remove '/home/vagrant/packages': Device or resource busy

Using composer create-project directly works just fine with the existing directory since I am not using the --remove-vcs option which I guess is the actual root cause here.

Steps To Reproduce:

  1. Setup a new Laravel Homestead machine following the instructions on https://laravel.com/docs/8.x/homestead
  2. Map a folder on the host (in my case macOS 10.15.7) machine to a folder in the Homestead machine
  3. Provision, boot and ssh into the machine
  4. Install the Laravel installer (in this case v4.0.5)
  5. Run laravel new <name-of-mapped-directory> --force

This used to work just fine in previous versions of the installer as it was my standard flow to setup a new project in a separate folder in a Homestead machine. As I noted above, using composer create-project directly is a workaround.

Edit: I'd also like to note that I acknowledge that this is just a specific issue of how mapped folders work with a VirtualBox machine and that this issue may not be addressed as a result of this

symfony

<[InvalidArgumentException]
Project directory "C:\xampp\apps\symfony" is not empty.

unknown flag: --source

  • Installer Version: 4.2.10

Description:

  • Using PHP 8.1.3
  • Git version 2.35.1

Steps To Reproduce:

laravel new projectname --github --branch="main" --jet --stack livewire

After installing Laravel and it's dependencies the error comes with:

unknown flag: --source
Usage:  gh repo create [<name>] [flags]

Some conflict with symfony/console while installing laravel/installer via Composer

$ composer --version
Composer version 1.10.6 2020-05-06 10:28:10
$ php -v
PHP 7.4.5 (cli) (built: Apr 14 2020 16:17:34) ( ZTS Visual C++ 2017 x64 )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
$ composer global require laravel/installer
Changed current directory to C:/Users/walbe/AppData/Roaming/Composer
Using version ^3.0 for laravel/installer
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Conclusion: don't install laravel/installer v3.0.1
    - Conclusion: don't install laravel/installer v3.0.0|remove symfony/console v3.3.5
    - Conclusion: don't install laravel/installer v3.0.0|don't install symfony/console v3.3.5
    - Installation request for laravel/installer ^3.0 -> satisfiable by laravel/installer[v3.0.0, v3.0.1].
    - laravel/installer v3.0.0 requires symfony/console ^4.0|^5.0 -> satisfiable by symfony/console[v4.0.0, v4.0
.1, v4.0.10, v4.0.11, v4.0.12, v4.0.13, v4.0.14, v4.0.15, v4.0.2, v4.0.3, v4.0.4, v4.0.5, v4.0.6, v4.0.7, v4.0.8
, v4.0.9, v4.1.0, v4.1.1, v4.1.10, v4.1.11, v4.1.12, v4.1.2, v4.1.3, v4.1.4, v4.1.5, v4.1.6, v4.1.7, v4.1.8, v4.
1.9, v4.2.0, v4.2.1, v4.2.10, v4.2.11, v4.2.12, v4.2.2, v4.2.3, v4.2.4, v4.2.5, v4.2.6, v4.2.7, v4.2.8, v4.2.9,
v4.3.0, v4.3.1, v4.3.10, v4.3.11, v4.3.2, v4.3.3, v4.3.4, v4.3.5, v4.3.6, v4.3.7, v4.3.8, v4.3.9, v4.4.0, v4.4.1
, v4.4.2, v4.4.3, v4.4.4, v4.4.5, v4.4.6, v4.4.7, v4.4.8, v5.0.0, v5.0.1, v5.0.2, v5.0.3, v5.0.4, v5.0.5, v5.0.6
, v5.0.7, v5.0.8].
    - Can only install one of: symfony/console[v4.0.0, v3.3.5].
    - Can only install one of: symfony/console[v4.0.1, v3.3.5].
    - Can only install one of: symfony/console[v4.0.10, v3.3.5].
    - Can only install one of: symfony/console[v4.0.11, v3.3.5].
    - Can only install one of: symfony/console[v4.0.12, v3.3.5].
    - Can only install one of: symfony/console[v4.0.13, v3.3.5].
    - Can only install one of: symfony/console[v4.0.14, v3.3.5].
    - Can only install one of: symfony/console[v4.0.15, v3.3.5].
    - Can only install one of: symfony/console[v4.0.2, v3.3.5].
    - Can only install one of: symfony/console[v4.0.3, v3.3.5].
    - Can only install one of: symfony/console[v4.0.4, v3.3.5].
    - Can only install one of: symfony/console[v4.0.5, v3.3.5].
    - Can only install one of: symfony/console[v4.0.6, v3.3.5].
    - Can only install one of: symfony/console[v4.0.7, v3.3.5].
    - Can only install one of: symfony/console[v4.0.8, v3.3.5].
    - Can only install one of: symfony/console[v4.0.9, v3.3.5].
    - Can only install one of: symfony/console[v4.1.0, v3.3.5].
    - Can only install one of: symfony/console[v4.1.1, v3.3.5].
    - Can only install one of: symfony/console[v4.1.10, v3.3.5].
    - Can only install one of: symfony/console[v4.1.11, v3.3.5].
    - Can only install one of: symfony/console[v4.1.12, v3.3.5].
    - Can only install one of: symfony/console[v4.1.2, v3.3.5].
    - Can only install one of: symfony/console[v4.1.3, v3.3.5].
    - Can only install one of: symfony/console[v4.1.4, v3.3.5].
    - Can only install one of: symfony/console[v4.1.5, v3.3.5].
    - Can only install one of: symfony/console[v4.1.6, v3.3.5].
    - Can only install one of: symfony/console[v4.1.7, v3.3.5].
    - Can only install one of: symfony/console[v4.1.8, v3.3.5].
    - Can only install one of: symfony/console[v4.1.9, v3.3.5].
    - Can only install one of: symfony/console[v4.2.0, v3.3.5].
    - Can only install one of: symfony/console[v4.2.1, v3.3.5].
    - Can only install one of: symfony/console[v4.2.10, v3.3.5].
    - Can only install one of: symfony/console[v4.2.11, v3.3.5].
    - Can only install one of: symfony/console[v4.2.12, v3.3.5].
    - Can only install one of: symfony/console[v4.2.2, v3.3.5].
    - Can only install one of: symfony/console[v4.2.3, v3.3.5].
    - Can only install one of: symfony/console[v4.2.4, v3.3.5].
    - Can only install one of: symfony/console[v4.2.5, v3.3.5].
    - Can only install one of: symfony/console[v4.2.6, v3.3.5].
    - Can only install one of: symfony/console[v4.2.7, v3.3.5].
    - Can only install one of: symfony/console[v4.2.8, v3.3.5].
    - Can only install one of: symfony/console[v4.2.9, v3.3.5].
    - Can only install one of: symfony/console[v4.3.0, v3.3.5].
    - Can only install one of: symfony/console[v4.3.1, v3.3.5].
    - Can only install one of: symfony/console[v4.3.10, v3.3.5].
    - Can only install one of: symfony/console[v4.3.11, v3.3.5].
    - Can only install one of: symfony/console[v4.3.2, v3.3.5].
    - Can only install one of: symfony/console[v4.3.3, v3.3.5].
    - Can only install one of: symfony/console[v4.3.4, v3.3.5].
    - Can only install one of: symfony/console[v4.3.5, v3.3.5].
    - Can only install one of: symfony/console[v4.3.6, v3.3.5].
    - Can only install one of: symfony/console[v4.3.7, v3.3.5].
    - Can only install one of: symfony/console[v4.3.8, v3.3.5].
    - Can only install one of: symfony/console[v4.3.9, v3.3.5].
    - Can only install one of: symfony/console[v4.4.0, v3.3.5].
    - Can only install one of: symfony/console[v4.4.1, v3.3.5].
    - Can only install one of: symfony/console[v4.4.2, v3.3.5].
    - Can only install one of: symfony/console[v4.4.3, v3.3.5].
    - Can only install one of: symfony/console[v4.4.4, v3.3.5].
    - Can only install one of: symfony/console[v4.4.5, v3.3.5].
    - Can only install one of: symfony/console[v4.4.6, v3.3.5].
    - Can only install one of: symfony/console[v4.4.7, v3.3.5].
    - Can only install one of: symfony/console[v4.4.8, v3.3.5].
    - Can only install one of: symfony/console[v5.0.0, v3.3.5].
    - Can only install one of: symfony/console[v5.0.1, v3.3.5].
    - Can only install one of: symfony/console[v5.0.2, v3.3.5].
    - Can only install one of: symfony/console[v5.0.3, v3.3.5].
    - Can only install one of: symfony/console[v5.0.4, v3.3.5].
    - Can only install one of: symfony/console[v5.0.5, v3.3.5].
    - Can only install one of: symfony/console[v5.0.6, v3.3.5].
    - Can only install one of: symfony/console[v5.0.7, v3.3.5].
    - Can only install one of: symfony/console[v5.0.8, v3.3.5].
    - Installation request for symfony/console (locked at v3.3.5) -> satisfiable by symfony/console[v3.3.5].


Installation failed, reverting ./composer.json to its original content.

Error setting up git repo on Linux

  • Installer Version: 4.2.0

Description:

When trying to run laravel new test-repo --git, the repo fails to initialize.

I am running Ubuntu 20.04, PHP version 7.4, Composer 2.0.11

Please let me know if you need more information

Steps To Reproduce:

  1. Run laravel new test-repo --git
  2. See error: unknown switch `b' in terminal
  3. Run cd test-repo && git status and see fatal: not a git repository (or any of the parent directories): .git

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.