viernes, 4 de septiembre de 2020

Cómo crear un .bash_profile en Mac

 Cómo crear un .bash_profile en Mac


Qué onda.

En esta ocasión voy a describir cómo crear un archivo .bash_profile en Mac. En ocasiones anteriores lo he hecho pero no había tenido la oportunidad de postearlo.

Como ya saben y seguramente es la razón por la que están aquí, el crear un .bash_profile de este tipo es muy útil cuando necesitamos persistir variables de ambiente en la Mac.

La razón por la que estoy creando uno es porque estoy realizando varias instalaciones que tienen dependencias. No puedo continuar con una instalación si la anterior no está lista con sus variables de ambiente establecidas y disponibles.

Solución.

1.- Iniciar una Terminal

2.- Moverte a tu home folder: 

cd ~/ 

3.- Si no existe, crear el archivo con: 

touch .bash_profile

3.- Abrir el archivo para editar con:

open -e .bash_profile

En este archivo ponen sus lineas de EXPORT para setear las variables que necesiten.

4.- Tienen que recargar el archivo en la terminal actual para ver los cambios que acaban de hacer:

source .bash_profile

Esto lo tienen que hacer en cada terminal que tengan abierta y requieran los valores que acaban de setear, por default una nueva terminal tendrá las valores disponibles.

Eso es todo. Espero les sirva

jueves, 3 de septiembre de 2020

cordova requirements failed en Mac

cordova requirements failed en Mac


Hola.

Me salió el error de abajo al intentar instalar cordova

La version de cordova es 10.0.0

La versión de Android Studio es 4.0.1

Estoy atorado en la sección de pre requisitos de Android  por el siguiente error.


MBP13:hello jhernand$ cordova requirements


Requirements check results for android:

Java JDK: installed 1.7.0

Android SDK: installed true

Android target: not installed 

Command failed with exit code 1: avdmanager list target

Exception in thread "main" java.lang.UnsupportedClassVersionError: com/android/sdklib/tool/AvdManagerCli : Unsupported major.minor version 52.0

at java.lang.ClassLoader.defineClass1(Native Method)

at java.lang.ClassLoader.defineClass(ClassLoader.java:800)

at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)

at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)

at java.net.URLClassLoader.access$100(URLClassLoader.java:71)

at java.net.URLClassLoader$1.run(URLClassLoader.java:361)

at java.net.URLClassLoader$1.run(URLClassLoader.java:355)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(URLClassLoader.java:354)

at java.lang.ClassLoader.loadClass(ClassLoader.java:425)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)

at java.lang.ClassLoader.loadClass(ClassLoader.java:358)

at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)

Gradle: installed /usr/local/Cellar/gradle/4.2.1/bin/gradle


Solución.

El error se debe a que la versión de JDK debe ser 1.8 y que la variable de ambiente JAVA_HOME debe apuntar allí.

Yo tenía la versión 1.7 y al parecer la versión de Gradle que instalé como parte de los pre requisitos requiere JDK 1.8

Después de instalar el JDK 1.8, ahora veo dos versiones disponibles del JDK y actualizo la variable JAVA_HOME en el archivo .bash_profile con un comando export como muestro abajo.

export JAVA_HOME=`/usr/libexec/java_home -v 1.8`

MBP13:~ jhernand$ /usr/libexec/java_home -V

Matching Java Virtual Machines (2):

    1.8.0_261, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home

    1.7.0_79, x86_64: "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home


/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home

jangel-MBP13:~ jhernand$ open -e .bash_profile

jangel-MBP13:~ jhernand$ source .bash_profile

jangel-MBP13:~ jhernand$ echo $JAVA_HOME

/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home


Una vez hecho esto, ejecutar nuevamente el comando cordova requirements y ya deben tener un resultado similar al de abajo.

MBP13:hello jhernand$ cordova requirements


Requirements check results for android:

Java JDK: installed 1.8.0

Android SDK: installed true

Android target: installed android-30,android-29

Gradle: installed /usr/local/Cellar/gradle/4.2.1/bin/gradle


Espero les sirva.