commit e89149fbc933b327e8afc6689c9d1dd9635101cc Author: clfreville2 Date: Wed Jan 25 10:27:14 2023 +0100 Décris comment installer React Native diff --git a/README.md b/README.md new file mode 100644 index 0000000..f77e5d9 --- /dev/null +++ b/README.md @@ -0,0 +1,7 @@ +iut-config +========== + +Scripts ou guides pour configurer certains outils à l'IUT. + +- [Setup React Native](setup-react-native.md) + diff --git a/setup-react-native.md b/setup-react-native.md new file mode 100644 index 0000000..86177c8 --- /dev/null +++ b/setup-react-native.md @@ -0,0 +1,50 @@ +React Native à l'IUT +==================== + +L'installation de `react-native` prend beaucoup de place, ce qui a de grande chances de dépasser les quotas du home universitaire. + +Il est nécessaire d'avoir suffisament de place sur scratch, sinon de nombreuses erreurs -122, de création de fichiers ou d'`unlink` se feront ressentir. + +Ce guide détaille les étapes pour correctement utiliser React Native à l'IUT. Nous utilisons NPM ici, mais les instructions indiquées devraient fonctionner sur les autres gestionnaires de paquets modulo quelques modifications. + +Rediriger le cache NPM +---------------------- + +NPM utilise un cache sur le système de gestion de fichiers, sur `~/.cache` par défaut. L'installation de React Native va très probablement faire exploser la taille de ce dossier, d'où l'intérêt de le déplacer sur scratch. + +Créer le dossier de cache ($USER fait référence à l'utilisateur courant) : + +```bash +mkdir /home/scratch/$USER/npm-cache +``` + +Éditer le fichier `~/.npmrc` pour utiliser le proxy de l'IUT et ce nouveau dossier : +``` +proxy=http://193.49.118.36:8080/ +http_proxy=http://193.49.118.36:8080/ +https_proxy=http://193.49.118.36:8080/ +cache=/home/scratch/$USER/npm-cache +``` + +Tunnel +------ + +Pour tester votre application sans être sur le réseau local de l'IUT (*eduoram* n'est pas le même réseau que les ordinateurs du département), vous pouvez réaliser un tunnel ngrock. + +```bash +npm i @expo/ngrok@^4.1.0 +npx expo start --tunnel +``` + +Web +--- + +Pour tester en local, vous pouvez utiliser le web avec React Native, ce qui nécessite des installations supplémentaires. Vous devrez également modifier les `NODE_OPTIONS` si l'erreur liée à `_Hash` (`error:0308010C:digital envelope routines::unsupported`) se présente. + +```bash +npm i react-native-web@~0.18.9 react-dom@18.1.0 @expo/webpack-config@^0.17.2 +export NODE_OPTIONS="--openssl-legacy-provider" && npx expo start --web +``` + +Vous pouvez exporter cette variable d'environnement dans votre `~/.bashrc`. +