Php RuntimeException供应商不存在,无法创建
我试过在网上找到的其他帖子,但似乎没有一篇是正确的。我和你一起工作。我找到了它的根,那就是Php RuntimeException供应商不存在,无法创建,php,json,vagrant,composer-php,Php,Json,Vagrant,Composer Php,我试过在网上找到的其他帖子,但似乎没有一篇是正确的。我和你一起工作。我找到了它的根,那就是/var/www/。然后我安装了composer,其中有一个composer.json文件。我明白了 [RuntimeException] vendor does not exist and could not be created. 这是文件 { "name": "panique/php-login", "type": "pr
/var/www/
。然后我安装了composer
,其中有一个composer.json
文件。我明白了
[RuntimeException]
vendor does not exist and could not be created.
这是文件
{
"name": "panique/php-login",
"type": "project",
"description": "A PHP login system embedded in a simple MVC framework",
"keywords": ["login", "auth", "user", "authentification", "mvc"],
"homepage": "https://github.com/panique/php-login",
"license": "MIT",
"authors": [
{
"name": "Panique",
"homepage": "http://careers.stackoverflow.com/panique",
"role": "Developer"
}
],
"support": {
"issues": "https://github.com/panique/php-login/issues",
"source": "https://github.com/panique/php-login"
},
"require":{
"php": ">=5.3.7",
"ircmaxell/password-compat": "1.0.*",
"phpmailer/phpmailer": "5.2.*",
"gregwar/captcha": "dev-master",
"facebook/php-sdk": "@stable",
"raveren/kint": "dev-1.0.0-wip"
}
}
我真的不确定从这里走到哪里……发生这种情况是因为我们没有管理员权限,我们只需要输入sudo这个词,它看起来是这样的:sudo composer安装谷歌,不要将composer与sudo一起使用: 将您的用户添加到www数据组(此操作要求您注销并再次登录) 为/var/www授予正确的权限
sudo chown root:root /var/www
sudo chmod 755 /var/www/
为您的项目授予这些权限
sudo chown -R www-data:www-data /var/www/<project>
sudo chmod -R 774 /var/www/<project>
sudo chown-R www-data:www-data/var/www/
sudo chmod-R 774/var/www/
@Etienne Gautier的解决方案肯定会奏效
另一个解决方案是更改/vendor
的用户/组的模式和所有者
e、 g
试试这个对我有用
sudo composer update
我可以通过删除供应商文件夹,然后使用
composer update
重新安装来解决此类问题。希望这能帮助像我这样的人。同样的事情发生在我身上,似乎是权限问题,你有两个选择:
如果您在linux上,请运行以下命令
sudo chown -R user projectFolder/
然后运行composer安装。user是您计算机的用户名。如果你不确定,就跑吧
whoami
从终端我在更新我的软件包时也遇到了这个问题。它对我不起作用的原因是,此文件夹“待创建”已经存在,必须先删除,然后才能完成此composer更新。原因此问题正确:a)您允许第三方脚本以ROOT用户身份执行。。。安全风险大!b) 当我从主机添加这些权限时,您的ssh密钥将不再可用(无法从github/bitbucket中提取)c)您将永远回到
www-data
或username
(如/home/user/.composer
文件),我收到以下错误:OCI runtime exec failed:exec failed:container\u linux.go:345:启动容器进程导致在config.json中设置“chdir to cwd(\”/var/www/project\”)失败:权限被拒绝”:unknown
知道我为什么会得到这个吗?Composer不应该以root用户身份运行,因为脚本和插件在您的系统上也有root用户访问权限。它将与您的答案中的解决方案一起工作,但这样做存在安全风险。答案非常有用,但在执行此操作之前,请先在您的项目文件夹中创建一个供应商文件夹。它成功了,谢谢!有多少次必须说composer不能作为root运行?
sudo chown -R user projectFolder/
whoami