5
ubuntu@ip-10-252-31-19:/$ sudo curl -sS https://getcomposer.org/installer | sudo php
ubuntu@ip-10-252-31-19:/$ sudo mv composer.phar /usr/local/bin/composer
ubuntu@ip-10-252-31-19:/$ cd /home/user
ubuntu@ip-10-252-31-19:/home/user$ sudo wget https://github.com/laravel/laravel/archive/master.zip
ubuntu@ip-10-252-31-19:/home/user$ unzip master.zip
ubuntu@ip-10-252-31-19:/home/user$ cd laravel-master
ubuntu@ip-10-252-31-19:/home/user/laravel-master$ sudo composer install
Loading composer repositories with package information
Installing dependencies (including require-dev)
ubuntu@ip-10-252-31-19:/home/user/laravel-master$ sudo composer update
PHP Warning:  require(/home/user/laravel-master/bootstrap/../vendor/autoload.php): failed to open stream: No such file or directory in /home/user/laravel-master/bootstrap/autoload.php on line 17
PHP Fatal error:  require(): Failed opening required '/home/user/laravel-master/bootstrap/../vendor/autoload.php' (include_path='.:/usr/share/php:/usr/share/pear') in /home/user/laravel-master/bootstrap/autoload.php on line 17
Script php artisan clear-compiled handling the pre-update-cmd event returned with an error
[RuntimeException]
Error Output: PHP Warning:  require(/home/user/laravel-master/bootstrap/../vendor/autoload.php): failed to open stream: No such file or directory in /home/user/laravel-master/bootstrap/autoload.php on line 17
PHP Fatal error:  require(): Failed opening required '/home/user/laravel-master/bootstrap/../vendor/autoload.php' (include_path='.:/usr/share/php:/usr/share/pear') in /home/user/laravel-master/bootstrap/autoload.php on line 17
ubuntu@ip-10-252-31-19:/home/user/laravel-master$ sudo composer dump-autoload -o
Generating autoload files
ubuntu@ip-10-252-31-19:/home/user/laravel-master$ sudo composer update
PHP Fatal error:  Class 'Patchwork\Utf8\Bootup' not found in /home/user/laravel-master/bootstrap/autoload.php on line 46
Script php artisan clear-compiled handling the pre-update-cmd event returned with an error
[RuntimeException]
Error Output: PHP Fatal error:  Class 'Patchwork\Utf8\Bootup' not found in
/home/user/laravel-master/bootstrap/autoload.php on line 46

我花了很多时间到处玩,找不到任何关于这个问题的文档,老实说,我对作曲家的了解不够,无法解决它。

编辑

我尝试了答案中建议的以下内容,但没有任何运气。

ubuntu@ip-10-252-31-19:/home/user$ sudo composer create-project laravel/laravel master
Installing laravel/laravel (v4.0.0)
  - Installing laravel/laravel (v4.0.0)
    Loading from cache
Created project in laravel
Loading composer repositories with package information
Installing dependencies (including require-dev)
ubuntu@ip-10-252-31-19:/home/user$ ls
master
ubuntu@ip-10-252-31-19:/home/user$ cd master
ubuntu@ip-10-252-31-19:/home/user/master$ ls
app  artisan  bootstrap  composer.json  CONTRIBUTING.md  phpunit.xml  public  readme.md  server.php
ubuntu@ip-10-252-31-19:/home/user/master$ sudo composer install --no-scripts
Loading composer repositories with package information
Installing dependencies (including require-dev)
ubuntu@ip-10-252-31-19:/home/user/master$ ls
app  artisan  bootstrap  composer.json  CONTRIBUTING.md  phpunit.xml  public  readme.md  server.php
ubuntu@ip-10-252-31-19:/home/user/master$ sudo composer dump-autoload -o
Generating autoload files
ubuntu@ip-10-252-31-19:/home/user/master$ ls
app  artisan  bootstrap  composer.json  CONTRIBUTING.md  phpunit.xml  public  readme.md  server.php  vendor
ubuntu@ip-10-252-31-19:/home/user/master$ sudo tail /var/log/nginx/error.log
2013/06/06 15:50:56 [error] 20042#0: *1 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Class 'Patchwork\Utf8\Bootup' not found in /home/user/master/bootstrap/autoload.php on line 46"
 while reading response header from upstream, client: w.x.y.z, server: dom.com, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "dom.com"
4

7 回答 7

7

我最近有同样的问题。只需运行带有--no-scripts标志的作曲家。

composer update --no-scripts

于 2013-06-06T09:47:41.030 回答
4

这看起来像您的作曲家不工作,这通常是不兼容的 PHP 版本的特征。你的 PHP 是什么版本?Laravel 需要 >= 5.3.7

尝试通过发出以下命令来更新 PHP 并重新运行 composer

-将 PHP5 添加到您的 apt-get 存储库

sudo add-apt-repository ppa:ondrej/php5

- 更新你的 apt-get

sudo apt-get update

-重新安装 PHP,确保用新版本覆盖当前版本!

sudo apt-get install php5-fpm php5-cli php5-cgi

重新启动 nginx 以确保然后在 laravel 目录中重新运行 composer install 。

于 2013-06-06T23:31:16.833 回答
2

这是一个使用 PHP 单元在 Ubuntu 上安装 Laravel 4 的单行脚本http://irventu.com/installing-laravel-4-with-phpunit-composer/

于 2013-07-03T22:16:51.977 回答
1

我有同样的问题,这对我有用:

  • 备份你的 composer.json
  • 编辑 comooser.json 并删除整个“脚本”块
  • 节省
  • 作曲家安装
  • 恢复原来的composer.json
  • 作曲家更新

似乎我们没有在裸安装上运行 artisan 所需的所有依赖项,但是一旦 composer 获取了所有内容,它就会运行良好。

于 2013-06-06T02:03:19.433 回答
1

您是否尝试运行composer update而不是第一次运行composer install

当我尝试让我现有的项目在另一台 PC 上运行时,我遇到了这个问题。

一旦我把我的项目 git 拉下来,我就尝试做一个composer update而不是第一次运行composer install,这给了我同样的问题。

运行composer install命令后,我的项目下载并安装了各种所需的依赖项,没有任何进一步的问题。

于 2013-07-25T19:53:03.560 回答
0

您可以尝试 composer update 而不是 composer install。根据文档http://laravel.com/docs/installation,有一种更简单的方法来安装 laravel,方法是运行命令 sudo composer create-project laravel/laravel nameofproject

于 2013-06-06T03:42:36.703 回答
0

运行 phpinfo 后,我注意到“--disable-mbregex”是 PHP 配置的一部分,这意味着 PHP 没有使用 mbregex 扩展名进行编译。我的错误日志显示“调用未定义函数 mb_regex_encoding”。

使用 mb_regex_encoding 重新编译 PHP 后,问题就消失了。

于 2013-08-13T04:24:24.367 回答