作曲家脚本使用旧 php 版本
composer scripts use older php version
我在 webfaction 上托管越来越多的网站。伟大的供应商!我 运行 遇到了一些我认为与 Linux 相关的问题。希望有人能帮忙。
SSH 命令 php -v
默认为 php 的旧版本,所以我在 .bash_profile
中创建了一个别名:
alias composer="php70 $HOME/composer.phar"
alias php="php70"
当我预制 php -v
现在它 returns PHP 7.0。到目前为止,一切顺利!
PHP 7.0.0 (cli) (built: Dec 4 2015 12:58:58) ( NTS )
但是现在当我 运行 一个作曲家安装并在脚本中放置一个 php -v
-> post-install-cmd 列表在我的 composer.json
文件中:
{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"type": "project",
"require": {
"php": ">=5.5.9",
"laravel/framework": "5.1.*"
},
"require-dev": {
"fzaninotto/faker": "~1.4",
"mockery/mockery": "0.9.*",
"phpunit/phpunit": "~4.0",
"phpspec/phpspec": "~2.1"
},
"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App\": "app/"
}
},
"autoload-dev": {
"classmap": [
"tests/TestCase.php"
]
},
"scripts": {
"post-install-cmd": [
"php -v",
"php artisan clear-compiled",
"php artisan optimize"
],
"pre-update-cmd": [
"php artisan clear-compiled"
],
"post-update-cmd": [
"php artisan optimize"
],
"post-root-package-install": [
"php -r \"copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"php artisan key:generate"
]
},
"config": {
"preferred-install": "dist"
}
}
现在 tt returns 旧的 php 版本,看这个截图:
也许这对你来说似乎完全合乎逻辑guys/girls,但我被困在这里。
嗯,Composer 不会使用您的别名来执行 PHP。
您可以在 composer.json
中使用 php70 -v
,但最好
将较新的 PHP 版本符号链接到 /bin/php
,以便 Composer 可以选择它:
创建一个 ~/bin
文件夹
mkdir ~/bin
然后将较新的 PHP 版本 /usr/local/bin/php70
符号链接到 ~/bin/php
ln -s /usr/local/bin/php70 ~/bin/php
最后,将此行添加到 .bash_profile
以将此文件夹附加到您的环境变量 PATH。
export PATH="$HOME/bin:$PATH"
我在 webfaction 上托管越来越多的网站。伟大的供应商!我 运行 遇到了一些我认为与 Linux 相关的问题。希望有人能帮忙。
SSH 命令 php -v
默认为 php 的旧版本,所以我在 .bash_profile
中创建了一个别名:
alias composer="php70 $HOME/composer.phar"
alias php="php70"
当我预制 php -v
现在它 returns PHP 7.0。到目前为止,一切顺利!
PHP 7.0.0 (cli) (built: Dec 4 2015 12:58:58) ( NTS )
但是现在当我 运行 一个作曲家安装并在脚本中放置一个 php -v
-> post-install-cmd 列表在我的 composer.json
文件中:
{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"type": "project",
"require": {
"php": ">=5.5.9",
"laravel/framework": "5.1.*"
},
"require-dev": {
"fzaninotto/faker": "~1.4",
"mockery/mockery": "0.9.*",
"phpunit/phpunit": "~4.0",
"phpspec/phpspec": "~2.1"
},
"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App\": "app/"
}
},
"autoload-dev": {
"classmap": [
"tests/TestCase.php"
]
},
"scripts": {
"post-install-cmd": [
"php -v",
"php artisan clear-compiled",
"php artisan optimize"
],
"pre-update-cmd": [
"php artisan clear-compiled"
],
"post-update-cmd": [
"php artisan optimize"
],
"post-root-package-install": [
"php -r \"copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"php artisan key:generate"
]
},
"config": {
"preferred-install": "dist"
}
}
现在 tt returns 旧的 php 版本,看这个截图:
也许这对你来说似乎完全合乎逻辑guys/girls,但我被困在这里。
嗯,Composer 不会使用您的别名来执行 PHP。
您可以在 composer.json
中使用 php70 -v
,但最好
将较新的 PHP 版本符号链接到 /bin/php
,以便 Composer 可以选择它:
创建一个 ~/bin
文件夹
mkdir ~/bin
然后将较新的 PHP 版本 /usr/local/bin/php70
符号链接到 ~/bin/php
ln -s /usr/local/bin/php70 ~/bin/php
最后,将此行添加到 .bash_profile
以将此文件夹附加到您的环境变量 PATH。
export PATH="$HOME/bin:$PATH"