【发布时间】:2014-02-07 05:07:21
【问题描述】:
我正在尝试使用 Capistrano 部署我的 Laravel 4 站点,当我尝试时:
run "cd #{current_path} && composer install --no-dev"`
在我的deploy.rb 中出现此错误:
sh: 1: composer: Permission denied
几行之后:
failed: "sh -c 'cd /var/www/public/mysite/current && composer install --no-dev'" on root@my.ip.add.ress
如果我注释掉上面的run 命令,那么 Capistrano 就能够成功完成部署。但是,我必须从我的站点的current 发布目录手动运行composer install,以使我站点上的所有内容都正常运行。
我尝试使用-d 标志运行我的部署以逐步完成部署,我尝试修复权限以防它们不正确,但似乎都无法修复此错误。另外,我到处寻找可能的答案,但找不到其他人遇到这个特定问题。
那么,我有两个问题:
- 有解决此问题的想法吗?
-
似乎每次部署时都运行
composer install只是创建了不必要的工作。是否会更好:a) 在每次部署时不要忽略
vendor文件夹in my local repository therefore removing the need to runcomposer install`?或者,b) 在根目录中运行
composer install(与current和releases处于同一目录级别),然后将bootstrap目录中的路径更改为vendor/autoload.php以指向这个新目录,这样我再也不需要运行composer install了吗?
【问题讨论】:
标签: permissions laravel capistrano composer-php