6 votos

¿Por qué comando "que" no te da el camino correcto?

Ver la siguiente versión de mvn. Me pregunto por qué comando "que" no te da la información correcta.

LM-SIN-00676037:myproject haibliu$ mvn --version
Apache Maven 3.0.3 (r1075438; 2011-03-01 01:31:09+0800)
Maven home: /usr/share/maven
Java version: 1.6.0_37, vendor: Apple Inc.
Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Default locale: en_US, platform encoding: MacRoman
OS name: "mac os x", version: "10.8", arch: "x86_64", family: "mac"

LM-SIN-00676037:myproject haibliu$ which mvn
/usr/local/bin/mvn

LM-SIN-00676037:myproject haibliu$ /usr/local/bin/mvn --version
Apache Maven 3.0.4 (r1232337; 2012-01-17 16:44:56+0800)
Maven home: /usr/local/Cellar/maven/3.0.4/libexec
Java version: 1.6.0_37, vendor: Apple Inc.
Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Default locale: en_US, platform encoding: MacRoman
OS name: "mac os x", version: "10.8", arch: "x86_64", family: "mac"

Sólo para aclarar: /usr/bin/mvn viene con mi Mac OS X, Mountain Lion. Y Homebrew para instalar /usr/local/bin/mvn. Después de eso, cambié el orden de ruta de acceso en /etc/paths.

LM-SIN-00676037:myproject haibliu$ cat /etc/paths
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
LM-SIN-00676037:myproject haibliu$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

Esto es lo que hice. Y estoy usando shell bash.

7voto

jamie Puntos 11

que es un programa externo, que intenta determinar cómo su shell de resolver un comando desde el $PATH existente, pero es posible que para hacerlo mal.

Si usted está usando bash como su intérprete de comandos, utilice el bash comando integrado "tipo" para que el shell dice cómo se va a resolver el comando:

$ which mvn
/usr/bin/mvn
$ type mvn
mvn is /usr/bin/mvn
$ type type
type is a shell builtin
$ type which
which is hashed (/usr/bin/which)

Aquí puede ver que en mi entorno de que /usr/bin/y que el shell construido el tipo de acuerdo. En el tuyo parece que no, aunque tengo curiosidad de saber por qué no. Tal vez usted tiene cambios de RUTA de acceso que no fueron exportados? Tratar de "RUTA de exportación" y, a continuación, "que mvn" de nuevo.

0voto

Sheehan Alam Puntos 13754

lo que está en su $PATH? y lo que es más importante, ¿de dónde instalar mvn? Recuerdo cuando intenté usar MacPorts Phyton 2.7.3 he tenido que añadir /opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin/python al comienzo de la $PATH para which a darme el derecho de python. Para obtener el derecho de camino he tenido que añadir esto en ~/.bash_profile:

source ~/.bashrc

# MacPorts Installer addition on 2010-03-17_at_21:13:03: adding an appropriate PATH variable for use with MacPorts.
export PATH=/opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin:/opt/local/bin:/opt/local/sbin:$PATH

así que, según usted tendrá que editar la ruta de acceso de acuerdo a donde mvn 3.0.3 es el del puño.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X