今天我跑了composer update
,更新完全破坏了我的网站。我在php.log发现如下信息:如何恢复作曲家更新?
72.15.153.139 - - [11/Nov/2015:21:01:45 -0500] "GET/HTTP/1.1" 500 - "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:42.0) Gecko/20100101 Firefox/42.0" [Wed Nov 11 21:01:48 2015] [error] [client 127.7.179.129] PHP Parse error: syntax error, unexpected 'function' (T_FUNCTION), expecting identifier (T_STRING) or \\ (T_NS_SEPARATOR) in /var/lib/openshift/55c481747628e14556000188/app-root/runtime/repo/config/vendor/danielstjules/stringy/tests/CreateTest.php on line 5 72.15.153.139 - - [11/Nov/2015:21:01:48 -0500] "GET/HTTP/1.1" 500 - "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:42.0) Gecko/20100101 Firefox/42.0"
似乎“danielstjules /粘性”是难辞其咎的一个。但是我怎样才能恢复到这个软件包的旧版本(或使用新闻版本?)?我试图修改composer.lock文件,并改变
"require": {
"danielstjules/stringy": "~1.8",
到
"require": {
"danielstjules/stringy": "~1.9",
,并再次运行composer update
,但它给了信息:
Loading composer repositories with package information Updating dependencies (including require-dev) Nothing to install or update Writing lock file Generating autoload files PHP Parse error: syntax error, unexpected 'function' (T_FUNCTION), expecting identifier (T_STRING) or \ (T_NS_SEPARATOR) in /var/lib/openshift/55c481747628e14556000188/app-root/runtime/repo/config/vendor/danielstjules/stringy/tests/CreateTest.php on line 5 Script php artisan clear-compiled handling the post-update-cmd event returned with an error
[RuntimeException] Error Output: PHP Parse error: syntax error, unexpected 'function' (T_FUNC TION), expecting identifier (T_STRING) or \ (T_NS_SEPARATOR) in /var/lib/o penshift/55c481747628e14556000188/app-root/runtime/repo/config/vendor/danie lstjules/stringy/tests/CreateTest.php on line 5
我如何可以回滚该包?谢谢。
编辑2:
composer install
将自动修改composer.lock
。相反,我修改了composer.json
,它成功读取了旧版本1.8。
但构建仍然失败。原因是This issue description。但是在rm -rf test/
之后,问题仍然存在。
编辑3:
我试过如下:
rm -rf vendor/
composer update
的问题不见了。
你提交了'composer.lock'文件吗? –
你的'composer.lock'应该在版本控制中。这将允许你恢复对它的更改,然后执行'composer install'来重新安装已知的功能版本。 – ceejayoz
首先,您应该指定要更新的准确版本。修改'composer.lock'而不使用'〜'字符。如果仍然存在问题,我们必须使用GIT或SVN来完全恢复到之前的修订版本。 –