My composer give me mkdir() permission denied exception - laravel

I have run
composer create-project --prefer-dist laravel/laravel blog
this command in htdocs cmd. It worked several times. But now its giving me mkdir() permission denied Error. Why is that??
It should have created a file named Project_mig! I wonder what went wrong. :(

First go to the folder where you want to create the project.
Then : do as this
After that execute "composer create-project --prefer-dist laravel/laravel blog" code.

You are trying to run this command in your Windows installation folder which you don't have permission to write.
You can see this from the command line
C:\WINDOWS\System32>
The solution would be cd to other folder or drive that you have permission to write (ex: D Drive) and run the command again.
Example:
D:
cd D:/Projects // Might be different based on your folder structure
composer create-project --prefer-dist laravel/laravel blog
Because you said the same command works on Git Bash. That is because Git Bash default folder is ~ which points to current user folder in your system. Because it is your own user folder, you can do anything there including write. That's why your script works fine using Git Bash.

First of all mkdir() i.e. making new folder/directory permissions error is because of Lack of permissions at the time of performing the same command
you can create your project in different directory

Related

Laravel command not found. Tried to add to PATH but it's not working

I'm trying to install and run Laravel on my Mac machine, but my command line doesn't recognize laravel and responds to all laravel commands with "bash: laravel: command not found". I know that the composer bin folder needs to be added to the $PATH, so I went to my home folder and, since none of the profile files I was told to look for were present, I created a .bash_profile file and added the line "export PATH = $HOME/.composer/vendor/bin:$PATH" to it. However, after saving this and restarting my terminal, laravel is still not recognized. Does anyone see what I'm doing wrong here?
I assume you are trying to do laravel new blog. To work you should call composer global require laravel/installer.
In case this doesn't work for you use composer create-project --prefer-dist laravel/laravel blog

Cannot create cache directory for Laravel project

I am trying to create my first Laravel project but i am having a problem with composer and some permissions (at least that's what i understand).
When I open my cmd to create a new Laravel project , using this command (create-project laravel/laravel basicwebsite), I get an error.
The error message is
“Cannot create cache directory C:\Mamp\htdocs/
C:\Users\giorg\AppData\Roaming\Composer/cache/repo/https---repo.packagist.org/,
or directory is not writable. Proceeding without cache”.
enter image description here
I am still new and I don’t know much but it seems that my folders are not writable or something similar.
I am using MAMP and windows 10.
Thanks in advance for your time.
If the folder is owned by root, even if you have admin privileges, you still dont have permission, this happens when you use sudo while installing composer.
It can be solved by
sudo chown -R $USER $HOME/.composer
The problem is with your composer installation, not the folder permissions.
You should probably install globally, but locally to your user, it should only be used by your user account and not by the web server
https://getcomposer.org/doc/00-intro.md#globally
Or
composer.phar create-project laravel/laravel basicwebsite
php composer.phar create-project laravel/laravel basicwebsite

Laravel project cannot create using composer in ubuntu 16.04

i want to create laravel project by this command in ubuntu 16.04
composer create-project --prefer-dist laravel/laravel blog "5.2.*"
project does not create and show this error-
[ErrorException]
mkdir(): Permission denied
In Linux machine, user must have to take super user or root permission to write files in disk, if you are not in your user space. So use sudo command at the beginning since you are using ubuntu 16.04.
sudo composer create-project --prefer-dist laravel/laravel blog_5.2.
Don't give any space in project directory name, for that I showed under score _
Note: if you see your project folder is locked sign icon, then change the user by using this command:
sudo chown -R username blog_5.2./
Otherwise you may face problems on some third party commands. See more details
https://getcomposer.org/doc/faqs/how-to-install-untrusted-packages-safely.md

Composer could not find the config file: C:\Users\Username\AppData\Roaming\Composer\vendor\bin

I cannot seem to install Laravel using the following command: composer create-project laravel/laravel laravel-testing --prefer-dist as it keeps throwing the following error:
[InvalidArgumentException]
Composer could not find the config file: C:\Users\Kieran\AppData\Roaming\Co
mposer\vendor\bin
To initialize a project, please create a composer.json file as described in
the http://getcomposer.org/ "Getting Started" section
The vendor and bin folders did not exist in the below path, so I created the folders vendor and then bin inside that but still no luck:
C:\Users\Kieran\AppData\Roaming\Composer\vendor\bin
What am I doing wrong?
I managed to fix this problem. I had to delete the composerenvironment variable. Which can be found here: Control Panel>System>Edit the system environment variables>Environment variables>composer>delete
After I deleted this I could run the command I wanted with out any errors and it worked as expected: composer create-project laravel/laravel laravel-testing --prefer-dist
Enter composer in your "cmd".
You will get all the command line there. All you have to do is type
composer init.
And the rest you can set up just as explained in the instructions.

Composer how to specify install directory

Hi I've recently downloaded Laravel as a PHP framework, I've installed composer and have got that working, I've got it to create my project as per the Laravel website
composer create-project laravel/laravel --prefer-dist
However when I use the above line this installs my project in the c:\users\guti directory however I want it to be installed in c:\xampp\htdocs.
I've seen another question on stackoverflow and it talks about amending the composer.json file but I'm not sure whether this is the route I should be taking as I've done a computer search for this file and this file exists as part of the laravel framework so does it make sense to amend this file?
Any composer experts on hand to point me in the right direction?
composer create-project laravel/laravel .
Installs in your current directory =)
You should specify your destination directory where you want to create the project, from the command prompt, type cd C:\xampp\htdocs then press enter. After that, type following code on the command prompt and press enter
composer create-project laravel/laravel my-laravel-project
Here my-laravel-project will be your project folder.
The composer.json file is used to setup some configurations (for Dependency management) during installation of the package via packagist.
Visit getcomposer.org for more information.
Whenever
composer create-project laravel/laravel .
Doesn't work properly for whatever reason, I just
laravel new temp
And then move the contents of the new application into the folder I do want ; )
I needed to do this myself. In the directory I wanted it installed, I did:
laravel new --force .
And it seems to be working well so far.
This works for me on Ubuntu 20.04, Composer version 2.1.6:
cd your-directory
composer create-project laravel/laravel ./
TL;DR
composer create-project --prefer-dist laravel/laravel directory-name
Move files to preferred folder if needed (e.g. to ../)
Why don't laravel new /.?
laravel new project-name not always works good on different systems, so you need to edit PATH variable multiple times to add laravel command to cli (at least on OSX it's not that easy as on Ubuntu).
composer create-project --prefer-dist . may not work because of not empty directory (e.g. in JetBrains IDE's, which creates folder .idea/ which doesn't shows in IDE's 'project' view, only on 'project files'). Exception message looks like
[InvalidArgumentException]
Project directory ./ is not empty.
So, if you know what you doing, do as you wish, on the other way, especially if you want as few problems as possible, do the steps from the top lines of this answer.
P.S. I'm speaking english not as good as i want to do, so, anyone, feel free to correct me.

Resources