无法为laravel运行工匠,并为作曲家的php版本问题

时间:2015-08-09 08:19:37

标签: php macos laravel composer-php artisan

由于一些奇怪的解析错误,我无法运行工匠。

$ php artisan serve
Parse error: parse error, expecting "identifier (T_STRING)"' or
"variable (T_VARIABLE)"' or '{'' or '$'' in
/Library/WebServer/Documents/artisan on line 31

所以我想我需要运行composer install,但后来我得到了这个:

Your requirements could not be resolved to an installable set of
packages.

Problem 1
 - This package requires php >=5.5.9 but your PHP version does not satisfy that requirement.   Problem 2
 - classpreloader/classpreloader 2.0.0 requires php >=5.5.9 -> your PHP version does not satisfy that requirement.
 - classpreloader/classpreloader 2.0.0 requires php >=5.5.9 -> your PHP version does not satisfy that requirement.
 - Installation request for classpreloader/classpreloader 2.0.0 -> satisfiable by classpreloader/classpreloader[2.0.0].

所以我尝试安装php5.5或任何它应该工作的东西。

$ curl -s http://php-osx.liip.ch/install.sh | bash -s 5.5 installing...
Installing package 5.5-10.8-frontenddev into root / Package
5.5-10.8-frontenddev is already installed at version
5.5.27-20150710-221744. You wanted to install version
5.5.27-20150710-221744.

所以在这一点上,我认为我已经满足了要求,但是composer install同样存在问题。

不知道这里发生了什么,因为some time now似乎存在这个问题。

1 个答案:

答案 0 :(得分:0)

解决方法是将--ignore-platform-reqs传递给您的composer命令。

当你可以使用正确版本的PHP运行你的作曲家时,这应该有用,例如

composer install --ignore-platform-reqs

另一种方法是通过Homebrew在macOS上安装不同的PHP版本,例如

brew install php56
brew install php72

然后您可以将其链接为:

ln -vs /usr/local/opt/php56/bin/php /usr/local/bin/php56
ln -vs /usr/local/opt/php72/bin/php /usr/local/bin/php72

然后您可以使用您选择的PHP版本运行composer,例如

php71 composer install