我已经尝试过我在网上找到的其他帖子,但似乎都没有正常工作。我正在与this合作。然后我走向它的根,即/var/www/
。那么我做composer install
并且我有一个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"
}
}
我不确定从哪里开始......
答案 0 :(得分:38)
Google员工,不要将作曲家与sudo一起使用:
在www-data组中添加您的用户(此操作需要您注销并再次登录)
sudo usermod -a -G www-data `whoami`
为/ 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>
答案 1 :(得分:5)
而不是修改任何文件夹的权限,并且当使用命令行(CLI)时,只需使用“sudo”,它将要求输入密码,输入root用户的密码,一切都应该顺利。 :)更加安全。
编辑它不再被认为是使用sudo作曲家的好习惯。全局安装composer将解决问题。如果您在服务器上直接编辑文件,通常会导致权限错误。在您的实时服务器上进行Web开发是不可取的。
答案 2 :(得分:5)
如果你在Linux上运行以下命令
sudo chown -R user projectFolder/
然后运行 composer install。 user 是您机器的用户名。如果你不确定就运行
whoami
来自终端
答案 3 :(得分:1)
@Etienne Gautier的方法很好。
另一种解决方案是更改/vendor
的模式和所有者/组。
例如
sudo chown -R 775 /root-of-your-app/vendor/
sudo chown -R $USER:$USER /root-of-your-app/vendor/
答案 4 :(得分:0)
我能够通过删除供应商文件夹然后使用composer update
重新安装来解决此类问题。希望这可以帮助像我这样的人。
答案 5 :(得分:0)
我发生了同样的事情,似乎是一个权限问题,您有两种选择:
Etienne Gautier's
答案中所述或答案 6 :(得分:0)
我在更新我的软件包时也遇到了这个问题。它对我不起作用的原因是这个“要创建”的文件夹已经存在并且必须在完成此作曲家更新之前将其删除。
答案 7 :(得分:-1)
Etienne Gautier的回答很好。您也可以尝试。首先更新或安装作曲家composer update
或composer install
,然后使用终端对项目目录授予正确的权限:
sudo chmod -R 755 /var/www/<your_project_name>/public
,并授予供应商目录权限。当您不想授予您的/var/www
目录权限时,请使用它。请注意,请对您的目录授予正确的权限,否则所有人都可以访问它。
答案 8 :(得分:-3)
这是因为我们没有管理员权限,我们只需要输入sudo这个词,它就像这样:sudo composer install
答案 9 :(得分:-6)
尝试一下对我有用。
sudo composer update