2010-07-21 19 views
38

Aunque estoy seguro de que otros finalmente se las han arreglado para resolver esto, he estado siguiendo la documentación y estoy teniendo problemas.Configurando PHPUnit en OSX

http://www.phpunit.de/manual/current/en/installation.html

hace que suene bastante fácil. Sin embargo, dependiendo de su configuración, es posible que vaya por un agujero de conejo.

PEAR, por ejemplo, debe tener una versión superior a la 1.8.1. Tenía 1.8.0 en ese momento, así que fui a buscar cómo actualizar PEAR

PEAR upgrade-all 

Da un error. Sin acceso.

sudo PEAR upgrade-all 

obras, pero las actualizaciones de la instalación mediante PEAR propiedad del usuario 'sudo' (y no su cuenta principal ... o algo por el estilo, versión corta es 5that claro no funcionan)

cd ~ 
pico .bash_profile 

añadir

export PATH=/usr/local/bin:$PATH 

le dan la PERA correcta cuando se escribe PERA, usted está finalmente listo para el paso 1 de las instrucciones de instalación PHPUnit.

pear channel-discover pear.phpunit.de 

Error. No tiene acceso a/usr/local/temp

sudo chmod 777 /usr/local/temp 

Error. Usted no tiene acceso a /usr/local/temp/channel.xml

sudo chmod 777 /usr/local/temp/channel.xml 
pear channel-discover pear.phpunit.de 

error.

Registry directory is not writeable by the current user 

BUT I'M ON A MAC!

/sigh 
/facepalm 
/tears 

Tengo una "copia de trabajo" de phpunit en mi máquina. (Yay!) Algún que otro problema es que sólo funciona cuando escribo PHPUnit de una carpeta específica

cd /usr/local/PEAR 
phpunit 

^^ WORKS

cd ~ 
phpunit 

^^ devoluciones

Warning: require_once(PHPUnit/Util/Filter.php): failed to open stream: No such file or directory in /usr/local/bin/phpunit on line 46 

Fatal error: require_once(): Failed opening required 'PHPUnit/Util/Filter.php' (include_path='.:/usr/lib/php') in /usr/local/bin/phpunit on line 46 

Tan cerca Sin embargo, hasta ahora ... Me pregunto si alguien tiene alguna opinión sobre cómo hacer que este chico trabaje, ¿verdad?

Respuesta

12

Ahhh .... OK ... Creo que podría haberlo conseguido ahora.

la respuesta estaba presente en la documentación de PHPUnit. http://www.phpunit.de/manual/3.4/en/installation.html

After the installation you can find the PHPUnit source files inside your local PEAR directory; the path is usually /usr/lib/php/PHPUnit. 

La versión para Mac de PERA que estaba corriendo, hizo instalar PHPUnit si corría todos los comandos que aparecen bajo el usuario "sudo" por ejemplo:

sudo pear channel-discover pear.phpunit.de 
sudo pear channel-discover pear.symfony-project.com 
sudo pear upgrade-all 

En este punto, toda los archivos se descargan en// local/usr pera pero el comando

phpunit 

está buscando para incluir archivos de/usr/lib/php/PHPUnit la solución ? Para copiar la carpeta de PHPUnit

cp /usr/lib/pear/PHPUnit /usr/lib/php 

O

hacer un enlace simbólico

cd /usr/lib/php 
ln -s /usr/lib/pear/PHPUnit PHPUnit 

He visto a mucha gente con problemas similares, pero esta solución particular no había surgido en cualquiera de los hilos que he visto Con suerte de utilidad para ti :) -Alex

+5

Recomendaría establecer el include_path en su archivo php.ini para tener el directorio adicional sobre el enlace simbólico, es un poco más convencional, incluso en OSX. Funciona para mi. Esto también es lo que se recomienda en los documentos PEAR. –

140

Para instalar a través del terminal:

curl https://phar.phpunit.de/phpunit.phar -L -o phpunit.phar 
chmod +x phpunit.phar 
mv phpunit.phar /usr/local/bin/phpunit 
+2

Esta debería ser la respuesta correcta. Es la forma más limpia de instalar phpunit globalmente en un Mac. – TiMESPLiNTER

+0

Y en osx, tendrá que crear las carpetas "local" y "bin". Puede hacer esto con 'sudo mkdir -p/usr/lcoal/bin' – Jarrod

+0

@Jarrod ¿Erróneo' lcoal'? ¿Debería ser 'local'? Gracias – Protocole

12

Via homebrew (sólo si ha instalado PHP a través de homebrew también):

brew tap josegonzalez/php 
brew install phpunit 
+6

Ahora, no necesita tocar el repositorio. 'brew install phpunit' es suficiente. –

3

Usted puede probar la instalación con Composer. De esta manera aislaría la versión de PHPUnit para el proyecto actual, evitando posibles problemas que pudieran surgir al usar una única configuración de todo el sistema para diferentes proyectos. Como dice la documentación de PHPUnit (http://phpunit.de/manual/current/en/installation.html#installation.composer), la instalación es bastante fácil.

Añadir la dependencia a su archivo composer.json:

{ 
    "require-dev": { 
     "phpunit/phpunit": "4.0.*" 
     } 
    } 

luego actualizar dependencias:

composer update 

Y PHPUnit está listo para usar ejecutando:

./vendor/bin/phpunit 

Recuerde ajuste esta ruta si cambia la ruta de instalación del compositor, que por defecto es 'proveedor'.

+1

La opción --dev ya no es necesaria, ya que los paquetes de desarrollo están instalados por defecto ahora. – jahller

+0

gracias, actualizó la respuesta – jaime

15

Podemos instalado usando Homebrew

$ brew install phpunit 
+2

Más precisamente 'brew install homebrew/php/phpunit' –

+0

funcionó. ¡Gracias! –

3

Instalar PHPUnit

curl https://phar.phpunit.de/phpunit.phar -o phpunit.phar 

chmod +x phpunit.phar 

mv phpunit.phar /usr/local/bin/phpunit 

O si ya ha instalar PHPUnit entonces simplemente pruebe esta línea para actualizar PHPUnit por el terminal

phpunit --self-update 

esto actualizará su archivo phpunit.phar.

1

Descargue manualmente phpunit de https://phar.phpunit.de/phpunit.phar luego desplace la carpeta de descarga en la terminal paso 1.chmod + x phpunit.phar paso 2. sudo mv phpunit.phar/usr/local/bin/phpunit