Je suis confronté au problème que je ne peux pas créer mon application Angular via AWS Amplify Console: "Vous exécutez la version v8.12.0 de Node.js, qui n'est pas prise en charge par Angular CLI 8.0+. La version officielle de Node.js qui est pris en charge est 10.9 ou supérieur. Veuillez visiter https://nodejs.org/en/ pour trouver des instructions sur la mise à jour de Node.js. "
Maintenant, je veux définir la version de nœud par défaut du conteneur docker dans l'étape de fourniture à VERSION_NODE_10 qui est déjà définie dans le conteneur.
version: 0.1 backend: phases: build: commands: - '# Execute Amplify CLI with the helper script' - amplifyPush --simple frontend: phases: preBuild: commands: - npm ci build: commands: - node -v - npm run-script build artifacts: baseDirectory: dist/cr-client files: - '**/*' cache: paths: - node_modules/**/*
amplify.yml:
# Framework Versions ENV VERSION_NODE_8=8.12.0 ENV VERSION_NODE_6=6 ENV VERSION_NODE_10=10 ENV VERSION_NODE_DEFAULT=$VERSION_NODE_8 <-- Change this to $VERSION_NODE_10 ENV VERSION_RUBY_2_3=2.3.6 ENV VERSION_RUBY_2_4=2.4.3 ENV VERSION_RUBY_DEFAULT=$VERSION_RUBY_2_3 ENV VERSION_HUGO=0.51 ENV VERSION_YARN=1.13.0
Quelqu'un sait-il comment modifier la valeur par défaut?
3 Réponses :
AWS Amplify utilise nvm
pour gérer la version du nœud. Essaye ça:
version: 0.1 backend: phases: build: commands: - '# Execute Amplify CLI with the helper script' - amplifyPush --simple frontend: phases: preBuild: commands: - nvm use $VERSION_NODE_10 - npm ci build: commands: - nvm use $VERSION_NODE_10 - node -v - npm run-script build artifacts: baseDirectory: dist/cr-client files: - '**/*' cache: paths: - node_modules/**/*
Merci! Une idée comment dire à la console Amplify d'installer et d'utiliser la version de nœud définie dans packages.json?
Merci pour ça. Je cherche également à mettre à jour le fil et les paramètres "Live package updates" de la console ne semblent pas être repris. J'ai également essayé yvm de la même manière que nvm dans cette réponse, mais yvm n'est pas disponible. Avez-vous également une chance de savoir comment spécifier la version du fil utilisé?
Vous pouvez peut-être ajouter les commandes de construction '- curl -o- -L yarnpkg.com/install.sh | bash 'ou' - npm install --global yarn '
Si vous conservez un fichier .nvmrc
dans la racine de votre dépôt, il est facile d'installer et d'utiliser la version de nœud de votre choix. Utilisez les commandes nvm install
et nvm use
, sans nommer une version spécifique. (Malheureusement, la nvm d'Amplify ne semble pas prendre en charge l'option --no --no-progress
nvm ajoutée en 2018.)
La bonne réponse n'est en fait pas la bonne.
Vous devez utiliser une image de construction personnalisée de NodeJS pour exécuter correctement votre application sans changer la version du nœud par nvm.
Pour faire ça:
node:12.16.1
Voici le fil de discussion github qui décrit plus en détail cette solution avec des images supplémentaires de la configuration de la console Amplify github.com/aws-amplify/amplify-cli/issues/3187
En raison de la limitation de débit du hub docker, cela échoue maintenant par intermittence car l'IP d'amplification est limité en débit! J'ai donc dû revenir à la solution nvm à la place.
La réponse acceptée n'a pas fonctionné pour moi.
La seule façon de modifier la version du nœud lors de l'étape de mise à disposition est d'avoir votre propre paramètre de construction.
Cependant, il existe un moyen plus simple d'y parvenir.
Dans mon cas, je voulais la dernière version de node 10. Et l'ajout de l'installation nvm à l'étape de pré-construction a fonctionné.
# Executing command: nvm install 10 2020-09-09T13:36:19.465Z [INFO]: Downloading and installing node v10.22.0... 2020-09-09T13:36:19.544Z [WARNING]: Downloading https://nodejs.org/dist/v10.22.0/node-v10.22.0-linux-x64.tar.gz... 2020-09-09T13:36:19.664Z [WARNING]: ######## 2020-09-09T13:36:19.665Z [WARNING]: 11.9% 2020-09-09T13:36:19.765Z [WARNING]: ####### 2020-09-09T13:36:19.765Z [WARNING]: ######################## 43.5% 2020-09-09T13:36:19.832Z [WARNING]: ################################ 2020-09-09T13:36:19.832Z [WARNING]: ######################################## 100.0% 2020-09-09T13:36:19.844Z [WARNING]: Computing checksum with sha256sum 2020-09-09T13:36:19.934Z [WARNING]: Checksums matched! 2020-09-09T13:36:20.842Z [INFO]: Now using node v10.22.0 (npm v6.14.6)
Vous pouvez installer et utiliser n'importe quelle version de nœud dans l'amplify en l'installant dans les étapes de pré-construction. Utilisez nvm pour changer la version du nœud.
preBuild: commands: - nvm install <node version>
Amplifier la sortie de la console:
frontend: phases: preBuild: commands: - nvm install 10
est-ce que cela aide? aws-amplify.github.io/docs/cli/lambda-node-version-update
Malheureusement non. Je l'ai déjà essayé