La ejecución de scripts está deshabilitada en este sistema
Si al ejecutar un proyecto en VS Code nos da el siguiente error:
npm : No se puede cargar el archivo C:\Users\nosequien\AppData\Roaming\npm\npm.ps1 porque la ejecución de scripts está deshabilitada en este sistema. Para obtener más información, consulta el tema about_Execution_Policies en https:/go.microsoft.com/fwlink/?LinkID=135170. En línea: 1 Carácter: 1 + npm run serve + ~~~ + CategoryInfo : SecurityError: (:) [], PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess
Tendremos que abrir Powershell como administrador y ejecutar el siguiente comando:
Set-ExecutionPolicy Unrestricted
Llamadas locales funcionan en Chrome pero no en Firefox
Cuando utilizamos tanto el ui como la api en local, podemos encontrarnos que las llamadas en Chrome funcionan correctamente pero no en Firefox (y por lo tanto el portal entra en bucle). Esto se debe a que en Firefox hay que darle a confiar en el certificado tanto en el puerto del ui como en el del back. Para ello, podemos hacer esto:
- Accedemos a https://midireccion.atica.um.es:8000, cambiando mi dirección por nuestra dirección local.
- En esta pantalla le damos a Avanzado y a Aceptar el riesgo y continuar.
- Accedemos a https://midireccion.atica.um.es:8080, cambiando mi dirección por nuestra dirección local (hemos cambiado el puerto por el del backend).
- Lo mismo, Avanzado y Aceptar.
- A partir de ahí, ya deberían funcionar nuestras llamadas al backend, así que ya podemos probar nuestra aplicación.
"vue" no se reconoce como un comando
Si nos aparece el siguiente error en la terminal:
"vue" no se reconoce como un comando interno o externo, programa o archivo por lotes ejecutable.
Debemos reinstalar Node. Para ello, desde su instalador, nos dará la opción "Remove" para desinstalarlo. Hacemos esto y volvemos a ejecutar el instalador para esta vez instalarlo. Una vez instalado, desde la terminal de Windows ejecutamos:
npm install -g @vue/cli
Con esto, ya debería desaparecer el error y funcionar correctamente.
No se cogen bien los parámetros al navegar
Cuando pasamos parámetros al hacer la navegación, tenemos que tener en cuenta que, aunque al hacer el push pasemos otro tipo de dato, se recibe en el componente destino como un string. Por ello, a la hora de coger los valores, si estamos pasando, por ejemplo, un booleano, tendremos que parsearlo para llevarlo al tipo de dato correcto:
this.variableBooleana = (this.$route.query.variableBooleana === "true");
Si lo dejamos como string, en el caso de un booleano, hay que tener en cuenta que si hacemos un if, este siempre se evaluará a true con un string, lo que puede llevar a comportamientos inesperados, tanto en el template como en el script. En resumen, tenemos que comprobar que tenemos true y no "true".
Error al hacer npm ci: Conflicting peer dependency
Si nos salta este error, probablemente es por la versión de npm que tenemos instalada. Si el package-lock.json se ha generado con una versión anterior a la 8.6.0, y nosotros tenemos esa o una posterior, nos dará ese error. Un ejemplo de traza del error:
peter.parker@18C04D0658E7 MINGW64 ~/Desktop/Practicas/portal-ui (formacion) $ npm ci npm ERR! code ERESOLVE npm ERR! ERESOLVE could not resolve npm ERR! npm ERR! While resolving: @intlify/vue-i18n-loader@4.1.0 npm ERR! Found: vue-i18n@9.2.0-beta.25 npm ERR! node_modules/vue-i18n npm ERR! vue-i18n@"9.2.0-beta.25" from the root project npm ERR! npm ERR! Could not resolve dependency: npm ERR! peerOptional vue-i18n@"^9.0.0" from @intlify/vue-i18n-loader@4.1.0 npm ERR! node_modules/@intlify/vue-i18n-loader npm ERR! dev @intlify/vue-i18n-loader@"^4.1.0" from the root project npm ERR! npm ERR! Conflicting peer dependency: vue-i18n@9.1.9 npm ERR! node_modules/vue-i18n npm ERR! peerOptional vue-i18n@"^9.0.0" from @intlify/vue-i18n-loader@4.1.0 npm ERR! node_modules/@intlify/vue-i18n-loader npm ERR! dev @intlify/vue-i18n-loader@"^4.1.0" from the root project npm ERR! npm ERR! Fix the upstream dependency conflict, or retry npm ERR! this command with --force, or --legacy-peer-deps npm ERR! to accept an incorrect (and potentially broken) dependency resolution. npm ERR! npm ERR! See C:\Users\jpeter.parker\AppData\Local\npm-cache\eresolve-report.txt for a full report. npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\peter.parker\AppData\Local\npm-cache_logs\2022-04-05T13_19_56_565Z-debug-0.log
Para solucionarlo, tendremos que ponernos la versión 8.5.5 de npm, y lo haremos ejecutando este comando:
npm i -g npm@8.5.5
Con eso ya deberíamos poder descargar las dependencias correctamente.
Una alternativa, si no queremos volver a esa versión, es ejecutar el comando npm ci con -force:
npm ci -force
Esto también debería descargar las dependencias correctamente.
