我知道Composer https://getcomposer.org/可以确定php
, hhvm
, ext-<name>
还有一些lib-<name>
依赖关系。对命令和二进制文件也有同样的可能吗PATH
?实际上,例如,我编写了脚本来确保超立方 OCR https://code.google.com/p/tesseract-ocr/存在。可以用自己的 Composer 功能来完成吗?
您可以使用 Composer 钩子来实现这一点,例如pre-install-cmd
or pre-update-cmd
,它执行 PHP 方法。这是我的测试:
composer.json
{
"require": { "pimple/pimple": "*" },
"autoload": { "psr-0": { "Acme\\": "src/" } }
"scripts": {
"pre-install-cmd": "Acme\\Composer\\Hooks::checkBinary",
"pre-update-cmd": "Acme\\Composer\\Hooks::checkBinary"
}
}
src/Acme/Composer/Hooks.php
<?php
namespace Acme\Composer;
use Composer\Script\Event;
class Hooks
{
public static function checkBinary(Event $event) {
$io = $event->getIO();
$path = explode(':', getenv('PATH'));
// do something with $path elements or anything else
if ($somethingWentWrong) {
// Throwing an Exception will cause Composer to stop processing.
throw new \Exception('Check your PATH');
} else {
$io->write('checkBinary() completed.');
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)