我试图在Windows 7上使用composer安装Laravel并遇到错误。这是我正在运行的命令:
composer global require "laravel/installer=~1.1"
这是我得到的错误:
file_put_contents(C:\Users\myUser\AppData\Roaming\Composer/vendor/composer/installed.json): failed to open stream: No such file or directory
说safe.json文件不存在是正确的,甚至连供应商文件夹中都没有作曲家文件夹。不知道为什么会丢失。我使用Windows安装程序安装了composer。
似乎是与作曲家相关的问题,而不是laravel。我刚刚尝试安装yii,并且遇到类似的错误:
composer create-project --prefer-dist yiisoft/yii2-app-basic MyApp
对于这个,我在成功创建文件夹之后得到了这个,并且似乎加载了大多数文件:
file_put_contents(C:\wwwroot\MyApp/vendor/composer/installed.json): failed to open stream: No such file or directory
似乎问题是我的供应商文件夹中从未有过composer文件夹。
更新
我可以通过添加COMPOSER_HOME环境变量来全局安装laravel。但是在那之后设置Laravel项目时我仍然遇到类似的错误
更新2
一些其他信息,当我使用Windows Installer时,composer安装在c:\ ProgramData \ ComposerSetup \ bin中。如果我将COMPOSER_HOME环境变量设置为this,则可以全局安装laravel。但是尝试使用" laravel new MyApp"来安装项目。抛出以下错误:
Parse error: syntax error, unexpected 'class' (T_CLASS), expecting identifier (T_STRING) or variable (T_VARIABLE) or '{' or '$' in C:\wwwroot\MyApp\artisan on line 31
我怀疑是因为我有PHP 5.4而laravel的最新版本是5.6及以上,但我想安装5.0,即5.4及以上版本。我尝试使用" composer create-project laravel / laravel MyApp 5.0 --prefer-dist"代替。我收到以下错误:
file_put_contents(c:\wwwroot\MyApp/vendor/composer/installed.json): failed to open stream: No such file or directory
似乎那里有一些奇怪的路径,我无法理解这些路径。
更新3
我现在已经卸载了作曲家,并按照作曲家网站上提供的说明手动重新安装了作曲家。我现在正尝试使用c:\ wwwroot:
中的以下命令创建项目composer create-project laravel/laravel c:\wwwroot\MyApp --prefer-dist
它设法安装了一些东西,但似乎我在它尝试安装的任何软件包之前得到了这个错误:
Installing laravel/laravel (v5.1.4)
Loading from cache
Failed to download laravel/laravel from dist: RecursiveDirectoryIterator::__construct(C:\wwwroot/vendor/composer/,C:\wwwroot/vendor/composer/): The system cannot find the path specified. (code: 3)
同样,似乎无法出于某种原因为供应商/作曲家创建目录。我尝试运行相同的命令,但是从空的c:\ wwroot \ MyApp文件夹中,除了错误中的路径之外,相同的结果会相应地更改。
但我检查了我的注册表,我没有这些条目。所以仍然没有任何线索。
答案 0 :(得分:0)
您的作曲家似乎无法全局访问。尝试将C:\ Users {UserName} \ AppData \ Roaming \ Composer \ vendor \ bin添加到您的环境变量,然后重新启动Shell或命令提示符,以便加载更新的Path变量。现在尝试再次安装laravel。
以下是详细说明:
答案 1 :(得分:0)
卸载composer并重新安装,但这次启用shell菜单。右键单击要创建项目的位置(目录),选择“在这里使用composer”,然后"composer create-project laravel/laravel projectName --prefer-dist"
应创建laravel项目,默认为最新版本(5.1)。
指定您喜欢的版本:
"composer create-project laravel/laravel 4.2 projectName --prefer-dist"
答案 2 :(得分:0)
我建议你安装Homestead(http://blog.teamtreehouse.com/laravel-homestead-on-windows)并在那里进行所有的重装。
您只需要homestead ssh
实际连接到您的计算机,然后执行所有操作。
Windows在这种情况下以及一般的Web开发中都是不可预测的。