Unable to create new Laravel project - laravel

What I'm trying to accomplish:
Create a new Laravel project
What I'm trying:
I've been trying to follow the installation instructions
sudo composer global require laravel/installer
export PATH="/home/hedwin/.composer/vendor/bin:$PATH"
When I try to run the following command:
sudo Laravel new trainingLaravel
it returns this error:
sudo: laravel: command not found
You can see my picture for details : Terminal
I'm on ubuntu 18.04.
Thanks a lot for every help..

edit : problem unsolved, i completely remove laravel/installer
composer global remove laravel/installer
then i redo installation in /home/hedwin/ directory :
https://gist.github.com/zunayed93/80ba8611a88623c20f9bb6c7b4e25792
but my way to add /vendor/bin dir. to the path didn't work so i follow instructions at Laravel PHP Command Not Found
"Ok, I did that and it works:
nano ~/.bash_profile
And paste
export PATH=~/.composer/vendor/bin:$PATH
do source ~/.bash_profile
"
and finally command laravel new something works !

found solution :
sudo chown -R hedwin ~/.composer/composer.json
sudo chown -R hedwin /home/hedwin/.composer/cache/repo/https---repo.packagist.org/
sudo chown -R hedwin /home/hedwin/.composer/cache/files/
or :
"sudo chown -R hedwin ~/.composer/" is the same
sources :
When installing Laravel i got an error: "./composer.json is not writable."
Cannot create cache directory .. or directory is not writable. Proceeding without cache in Laravel

Related

laravel new sh: composer: command not found

The problem happens whenever I call the Laravel installer: laravel new app.
I get sh: composer: command not found
When I call composer create-project --prefer-dist laravel/laravel app everything works fine.
I'm using zsh and my export paths looks as follows:
export PATH=$HOME/bin:/usr/local/bin:$PATH
export PATH=/opt/homebrew/bin:$PATH
export ZSH="/Users/konstantinkrumov/.oh-my-zsh"
export PATH=~/.composer/vendor/bin:$PATH
I also have an alias for composer
alias composer="php /usr/local/bin/composer/composer.phar
When I run which composer I get: composer:
aliased to php /usr/local/bin/composer/composer.phar
So far I have tried to:
Move composer.phar into /usr/local/bin/
Reinstalled composer
Changed the alias path to php /usr/local/bin/composer/composer
Tried making a symlink as suggested in this stackoverflow question
non of the above seem to work
The best solution which I was able to find was to make a function in the ~/.zshrc file.
Function looks like this:
ln() {
composer create-project --prefer-dist laravel/laravel $1;
}
This way I can run ln app and generate a new laravel app with a shorter syntax.
I was unable to figure out why running laravel new app gave the following output: sh: composer: command not found and failed to generate a new app.
If you are on macOS, You can do:
cd /usr/local/bin
mv composer.phar composer
sudo chmod +x composer

Composer: Command Not Found on Mac

I have installed Composer as per the instructions command not found
After installing I get the prompt that Composer is successfully installed but when I go to check the version it gives me error "Composer: Command Not Found"
I have been looking how to fix this issue and I had to read and understand little bit and the environment variables on MAC.
I understand the issue looks simple but it will get over complicated if you didn't understand how to install composer probably.
Solution 1
I found this solution here: https://duvien.com/blog/installing-composer-mac-osx
Open a terminal and navigate to your user directory, ie cd /User//
Run this command shown below to download Composer. This will create a Phar (PHP Archive) file called composer.phar:
curl -sS https://getcomposer.org/installer | php
Now we move composer.phar file to a directory
sudo mv composer.phar /usr/local/bin/
We want to run Composer with having to be root al the time, so we need to change the permissions:
sudo chmod 755 /usr/local/bin/composer.phar
Next, we need to let Bash know where to execute Composer:
nano ~/.bash_profile
Add this line below to bash_profile and save
alias composer="php /usr/local/bin/composer.phar"
and then run this command:
source ~/.bash_profile
Finally, run:
composer --version
Solution 2:
I understand that the first command you will find online when you try to google this issue would be
curl -sS https://getcomposer.org/installer | php
But actually this is the main terminal installation but sometimes I wanted to manually install the composer, so this 2nd solution about manually installing the composer in specific directory
First of all you need to understand where are you now on the terminal
use
pwd
and then install composer manually using the following commands
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') ==='baf1608c33254d00611ac1705c1d9958c817a1a33bce370c0595974b342601bd80b92a3f46067da89e3b06bff421f182') { echo 'Installer verified'; } else { echo 'Installer corrupt';
unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
to use it on that case you will read on the terminal to use this composer installation use
Use it: php composer.phar
so just write
php composer.phar
and it should be working.... one more thing, during this installation you can install the composer to specific directory / project folder... in that case you can use a flag with command No.4 to tell the terminal to install the composer in specific directory...this flag is --install-dir=your-directory-path
and you will the terminal this time after installing composer asking you to use the following path to call the composer
Use it: php /Users/muatafa/composer.phar
if you want to read more about this issue, I think you must read the composer documentation how to install it>>> https://getcomposer.org/download/
that's how I solved my current issue... if you still have any issues comment on this replay & Hopefully we can figure it out!
I had the same problem. "composer require something" works if installed in global and not locally.
If you install composer locally you'll then install dependencies using "php composer.phar require nameofyoudependency"
To install globally open a terminal to install as mentionned on the composer website. Then run "sudo mv composer.phar /usr/local/bin/composer"
Now you can use "composer" directly to install dependencies like => "composer require something/sdk"
the composer you installed is still named /usr/local/bin/composer.phar - look in the second yellow/brownish line in your output. Just rename it to just composer
Your composer command is not set to path, use
export PATH=$PATH:/usr/local/bin/
I had the same issue, After installing composer using the command line on their website. I forgot to put composer.phar into a directory on my PATH, so it can simply be called from any directory (Global install). and then I ran this command "sudo mv composer.phar /usr/local/bin/composer" and it was resolved
I figured out. in place of "composer require twilio/sdk" I needed to use
"composer.phar require twilio/sdk" since I am on mac. It worked

Laravel 5.2 - bootstrap/cache/services.php missing

After I ran composer update/ install then when I run php artisan cache:clear. I got the following error.
[ErrorException] file_put_contents({application-root-path}/bootstrap/cache/services.php): failed to open stream: No such file or directory
Is there any command able to re-cache the file? As for now no matter what php artisan function that I run also will caught into the same error.
p/s: Please comment below if you need me to provide any further information for debug use.
make sure to run this command:
sudo chmod 777 -R bootstrap/cache
Just type:
cd bootstrap/
mkdir cache
cd ..
composer install
run this command
php artisan optimize --force
it will create services.php and compiled.php
I solved this problem this way:
If there is a cache directory, delete it and recreate it
Simple go to bootstrap folder and create new folder name cache :)
right click cache folder and checked
Folder is ready for archiving

creating new laravel application on mac by laravel installer

I have been strugling to create an application with laravel installer from terminal.
I have globally installed composer and laravel..
however i constantly get this error:
If you check at the bottom of the screenshot you can see -bash: new: command not found however laravel command is being executed perfectly. My osx version is 10.10.2. Macbook pro.
Any help will be appreciated.
Another question (bit out of the topic)
Is git inbuild in mac osx?
Cuz i hadn't installed it but it shows all of its commands.
Regards,
=======================
I created alias for composer and laravel in .bash_profile and .bashrc and it worked however now I'm getting this error :
Prajwols-MacBook-Pro:htdocs prajwol$ laravel new test
Crafting application...
Warning: ZipArchive::extractTo(): Invalid or unitialized Zip object in /Users/prajwol/.composer/vendor/laravel/installer/src/NewCommand.php on line 99
Warning: ZipArchive::close(): Invalid or unitialized Zip object in /Users/prajwol/.composer/vendor/laravel/installer/src/NewCommand.php on line 101
Application ready! Build something amazing.
Result : An empty folder is created called test in destination folder.
The command needs a project name: laravel new <NAME>. Like laravel new blog. This will create a new laravel project in a new blog directory in the current path.
$ brew tap homebrew/homebrew-php
$ brew install php72
Install composer
$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
$ php composer-setup.php --install-dir=/usr/local/bin --filename=composer
Install Laravel
$ composer global require "laravel/installer"
$ composer global -vvv require "laravel/installer"
now run command
composer

Laravel new -bash: laravel: command not found [duplicate]

I have installed Laravel using composer without problems, but when I try to execute "laravel" in my terminal I have this typical error:
-bash: laravel: command not found
If I read the documentation of the official site I need to do that:
Make sure to place the ~/.composer/vendor/bin directory in your PATH so the laravel executable is found when you run the laravel command in your terminal.
But I don't know how to do.
Can you help me with that? Thanks!!
Ok, I did that and it works:
nano ~/.bash_profile
And paste
export PATH=~/.composer/vendor/bin:$PATH
do source ~/.bash_profile and enjoy ;)
Important: If you want to know the difference between bash_profile and bashrc please check this link
Note: For Ubuntu 16.04 running laravel 5.1, the path is: ~/.config/composer/vendor/bin
On other platforms: To check where your Composer global directory is, run composer global about. Add /vendor/bin to the directory that gets listed after "Changed current directory to ..." to get the path you should add to your PATH.
Add the following to .bashrc file (not .bash_profile).
export PATH="~/.composer/vendor/bin:$PATH"
at the end of the file and then in terminal run source ~/.bashrc
To verify that:
echo $PATH
(Restart the terminal, Check & Confirm the path is there)
Run the laravel command!
Note:
For Ubuntu 16 and above use below:
export PATH="~/.config/composer/vendor/bin:$PATH"
When using MacBook, refer to the snippets below;
For zsh:
echo 'export PATH="$HOME/.composer/vendor/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
For Bash:
echo 'export PATH="$HOME/.composer/vendor/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
Solution on link http://tutsnare.com/laravel-command-not-found-ubuntu-mac/
In terminal
# download installer
composer global require "laravel/installer=~1.1"
#setting up path
export PATH="~/.composer/vendor/bin:$PATH"
# check laravel command
laravel
# download installer
composer global require "laravel/installer=~1.1"
nano ~/.bashrc
#add
alias laravel='~/.composer/vendor/bin/laravel'
source ~/.bashrc
laravel
# going to html dir to create project there
cd /var/www/html/
# install project in blog dir.
laravel new blog
Type on terminal:
composer global require "laravel/installer"
When composer finish, type:
vi ~/.bashrc
Paste and save:
export PATH="~/.config/composer/vendor/bin:$PATH"
Type on terminal:
source ~/.bashrc
Open another terminal window and type: laravel
If you're using Ubuntu 16.04.
You need to find the composer config files in my case is :
~/.config/composer or in other cases ~/.composer/
you can see the dir after this command composer global require "laravel/installer"
after Laravel Installed you can find your laravel in ~/.config/composer/vendor/laravel/installer/.
and you will find the Laravel shortcut command in here : ~/.config/composer/vendor/bin/
set your .bashrc using nano ~/.bashrc and export your composer config file :
export PATH="$PATH:$HOME/.config/composer/vendor/bin"
or you can use allias. but above solution is recommended.
alias laravel='~/.config/composer/vendor/laravel/installer/laravel'
Now refresh your bashrc using source ~/.bashrc and then laravel is ready!!
above steps works with me in Ubuntu 16.04
For zsh and bash:
export PATH="$HOME/.config/composer/vendor/bin:$PATH"
source ~/.zshrc
source ~/.bashrc
For bash only:
export PATH=~/.config/composer/vendor/bin:$PATH
source ~/.bashrc
For Developers use zsh Add the following to .zshrc file
vi ~/.zshrc or nano ~/.zshrc
export PATH="$HOME/.composer/vendor/bin:$PATH"
at the end of the file.
zsh doesn't know ~ so instead it by use $HOME.
source ~/.zshrc
Done! try command laravel you will see.
If on mac (and think *nix) just run this in your terminal.
export PATH="~/.composer/vendor/bin:$PATH"
For those using Linux with Zsh:
1 - Add this line to your .zshrc file
export PATH="$HOME/.config/composer/vendor/bin:$PATH"
2 - Run
source ~/.zshrc
Linux path to composer folder is different from Mac
Use $HOME instead of ~ inside the path with Zsh
The .zshrc file is hidden in the Home folder
export PATH= exports the path in quotes so that the Laravel executable can be located by your system
The :$PATH is to avoid overriding what was already in the system path
If you are coming here 2021 this has worked for me also using Ubuntu 16.04
nano ~/.bash_profile
export PATH=$HOME/.config/composer/vendor/bin:$PATH
ctrl+x and save
source ~/.bash_profile
For MAC users:
1. Open terminal
cd ~
2. Double check the $PATH
echo $PATH
3. Edit file
nano ~/.bash_profile
4. PASTE
export PATH="~/.composer/vendor/bin:$PATH"
Don't forget to put quotation marks.
5. control + X (y + enter to save the file and exit)
Now start vagrant, go to your folder and try:
laravel new yourprojectname
I set the PATH,but it didn't work.I find other way to solve it. (OSX 10.10 & laravel 5.2)
1) find the executable file:
~/.composer/vendor/laravel/installer/laravel
2) give execute permissions:
chmod +x ~/.composer/vendor/laravel/installer/laravel
3) make a soft link to /usr/bin:
sudo ln -s /Users/zhao/.composer/vendor/laravel/installer/laravel /usr/bin/laravel
1) First, download the Laravel installer using Composer:
composer global require "laravel/installer"
2) Make sure to place the ~/.composer/vendor/bin directory in your PATH so the laravel executable can be located by your system.
set PATH=%PATH%;%USERPROFILE%\AppData\Roaming\Composer\vendor\bin
eg: “C:\Users\\AppData\Roaming\Composer\vendor\bin”
3) Once installed, the simple laravel new command will create a fresh Laravel installation in the directory you specify.
eG: laravel new blog
type on terminal:
nano ~/.bash_profile
then paste:
export PATH="/Users/yourusername/.composer/vendor/bin:$PATH"
then save (press ctrl+c, press Y, press enter)
now you are ready to use "laravel" on your terminal
If you have Composer installed globally, you can install the Laravel installer tool using command below:
composer global require "laravel/installer=~1.1"
Late answer...
Composer 1.10.1 2020-03-13 20:34:27
laravel --version
Laravel Installer 3.0.1
Put
export PATH=$PATH:~/.config/composer/vendor/bin:$PATH
in your ~/.zshrc or ~/.bashrc
source ~/.zshrc or ~/.bashrc
This works
Composer should be installed globally:
Run this in your terminal:
mv composer.phar /usr/local/bin/composer
Now composer commands will work.
My quick way of creating a new project
//install composer locally on web root - run the code from: https://getcomposer.org/download/
Then install laravel:
php composer.phar require laravel/installer
Then create the project without adding anything to any path
vendor/laravel/installer/bin/laravel new [ProjectName]
//add project to git
cd ProjectName
git init
git remote add origin git#...[youGitPathToProject]
Wondering if this way of doing it has any issues - please let me know
Just use it:
composer create-project --prefer-dist laravel/laravel youprojectname

Resources