Cannot create cache directory for Laravel project - laravel

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

Related

My composer give me mkdir() permission denied exception

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

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

laravel application moved to another pc

I have just transferred my laravel application to another pc and I have installed composer. I am running composer install at the root of the project but it shows the following error:
{"error":{"type":"ErrorException","message":"file_put_contents(\/meta\/services.
json): failed to open stream: No such file or directory","file":"C:\\national-fl
eet\\vendor\\laravel\\framework\\src\\Illuminate\\Filesystem\\Filesystem.php","l
ine":71}}
I tried CACLS -R 755 app/storage (as admin)
and then composer update but the same error. bootstrap/compiled.php doesn't exists in my project. What should I do?
I got this error, because some folders in /app/storage were missing
To fix the error, I manually created the following folders:
app/storage/
app/storage/cache/
app/storage/logs/
app/storage/meta/
app/storage/sessions/
app/storage/views/
then delete the contents of my vendor folder and run composer update again
Try to remove the services.json in /meta (or rename it to something else) and try composer install again (or composer update). It is possible that the file hasn't got the correct rights for Laravel to write to.

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.

Laravel 4 Installation Problems on WAMP/Windows

First,I use wamp on my Window7.I open php-openssl,and I git pull the laravel from github.com,and then I put laravel on my d:/wamp/www/, I change the c:/windows/system32.But when I open the url
http://localhost/laravel/public
I see this question.
I am a newbie on laravel,and without install on Ubuntu.Where is my wrong, without no pear,or something else? Thank you!
You need to run composer install in a command prompt.
If you do not have composer, download the phar file from their website.
Place the file you just downloaded into the laravel directory.
Then, make sure that the absolute path to php.exe is added to your PATH environment variable.
Then, you can hold down shift, and right click anywhere inside the laravel directory, and open up a command prompt window. Then, run php composer.phar install. The process may take some time, depending on the speed of your internet connection.
Instead of using the above method, you can download the Composer installer for Windows, install it, and just run composer install.
Note that you only need to do this in order to put the Laravel components together. You do not need to run it on a live server.
Please consult the Laravel Docs for installation and other instructions: http://laravel.com/docs
Try This :
Installing Laravel 4 on WAMP
1. Enable OpenSSL
OpenSSL must be enabled in the PHP configuration.
Edit php.ini in your WAMP’s PHP folder, e.g.:
C:\wamp\bin\php\php5.4.12\
Note: This is not the php.ini in C:\wamp\bin\apache\Apache2.4.4\bin.
Find the following line and remove the semicolon save it:
;extension=php_openssl.dll changed to extension=php_openssl.dll
2. Install Composer
(i).Download the Composer Windows installer from getcomposer.org.
(ii). Run the installer.
(iii). When it asks for the location of php.exe, point it to the executable in your WAMP’s PHP folder, e.g.:
C:\wamp\bin\php\php5.4.12\
(iv). Finish the installation.
(v). Open a command-line interface (cmd) and type:
composer
It should return a list of options. If you get an error, restart your computer and try again.
Composer has now been installed and added to your PATH environment variable. This means you can run it from any directory using the command-line interface.
Now we need to install Composer. This is a dependency manager that will download the latest release of Laravel and specific versions of Laravel’s dependencies, such as Doctrine and Symfony.
3.Install Laravel
Now that Composer has been installed, Composer can download and install Laravel onto your system.
(i). Open a command-line interface (cmd).
(ii). Go to the directory in which you want to install Laravel. This is usually your development directory. In this tutorial, we’ll use C:\wamp\www\laravel
(iii). Instruct Composer to install Laravel into a project directory. we use project name myproject.
composer create-project laravel/laravel myproject --prefer-dist
Note: This will install Laravel in a subdirectory myproject of the current working directory.
Three type of installation to be completed
Now your project was running directory like
C:\wamp\www\laravel\myproject\public\
After completed put tick mark and increase the point....
Do php composer.phar dump-autoload or php artisan dump-autoload

Resources