[RAILS] Que faire si vous êtes en colère contre "ERREUR: Il n'y a pas de scénario; doit en avoir au moins un" même si vous auriez dû saisir le fil dans Docker

Contexte

J'aurais dû mettre du fil dans Docker, mais quand j'ai frappé la commande suivante, je me suis mis en colère

Contenu de Dockerfile

FROM ruby:2.5
RUN apt-get update && apt-get install -y \
    build-essential \
    libpq-dev \
    nodejs \
    postgresql-client \
    yarn
WORKDIR /kosare
COPY Gemfile Gemfile.lock /kosare/
RUN bundle install

Une erreur s'est produite dans la commande de fil

root@5847e387581e:/kosare# yarn -v
ERROR: There are no scenarios; must have at least one.

Solution (solution temporaire)

Fondamentalement, si vous faites la même chose que l'URL décrite dans la référence, elle sera résolue. Dans mon cas, je suis déjà entré en tant que root, donc j'ai supprimé la partie qui dit sudo et l'ai exécutée afin de la résoudre.

Supprimer l'ancien fil

sudo apt remove cmdtest
sudo apt remove yarn

Obtenir la dernière

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -

Obtenir la dernière

echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list

update

apt-get update 

réinstaller

apt-get install yarn

Confirmation de version

yarn -v

Solution (solution fondamentale)

Avec la méthode ci-dessus, la même chose se produit à nouveau lorsque l'installation du bundle est à nouveau effectuée avec docker. Je veux le résoudre lors de la construction avec Dockerfile, alors ajoutez les deux lignes suivantes à dockerfile.

RUN curl https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list

Dockerfile (forme finale)

FROM ruby:2.5
RUN curl https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
RUN apt-get update && apt-get install -y \
    build-essential \
    libpq-dev \
    nodejs \
    postgresql-client \
    yarn
WORKDIR /kosare
COPY Gemfile Gemfile.lock /kosare/
RUN bundle install

Si vous le reconstruisez avec cela, le fil devrait être utilisable correctement.

référence

https://k-koh.hatenablog.com/entry/2020/04/02/143017 https://github.com/yarnpkg/yarn/issues/7329 https://qiita.com/MasatoraAtarashi/items/3f0317cd648ff63fa92c

Recommended Posts

Que faire si vous êtes en colère contre "ERREUR: Il n'y a pas de scénario; doit en avoir au moins un" même si vous auriez dû saisir le fil dans Docker
Que faire si vous obtenez une erreur gcc dans Docker
Que faire si vous vous fâchez contre OpenSSL avec Pyenv Install
Que faire si vous obtenez une [Une requête HTTP a pris trop de temps à se terminer.] Erreur dans Docker.
Que faire si vous entrez gem'bcrypt 'dans votre Gemfile et obtenez une erreur avec l'installation du bundle
Que faire si vous obtenez l'erreur Trop long sans sortie (dépassé 10m0s) dans CircleCI
Que faire si vous avez activé Utiliser le moteur basé sur WSL2 dans Docker Desktop avec une installation WSL2 insuffisante
Que faire si vous obtenez une erreur de nombre d'arguments erroné dans binding.pry
[Java] Que faire si vous obtenez une erreur dans Eclipse disant "Non autorisé au niveau source inférieur à 1.X"
Que faire lorsqu'une exception java.io.IOException se produit dans GlassFish
[Rails] Que faire si vous ne pouvez pas obtenir de message d'erreur avec la méthode des erreurs
Que faire si vous obtenez une erreur «302» dans le code de test du contrôleur dans Rails
Que faire si vous obtenez une erreur avec l'authentification de base pendant le code de test Rails
Que faire si rails s dit `rescue in block in modules_for_hoge ': Fichier hoge manquant hoge / hoge_hoge.rb (AbstractController :: Helpers :: MissingHogeError) même s'il y a un fichier à l'emplacement d'erreur spécifié.
Que faire si vous obtenez une erreur de bibliothèque partagée JNI lorsque vous essayez de créer avec Eclipse
[Rails] Que faire si vous ne pouvez pas obtenir de paramètres avec form_with
Que faire si vous obtenez un avertissement groovy dans Thymeleaf Layout
Que faire si on vous dit "il n'y a pas d'attribut manifeste principal" lors de la création d'un fichier jar contenant des dépendances dans un projet maven
Que faire si vous obtenez une erreur d'argument: nombre incorrect d'arguments (donné 2, attendu 0) dans votre test RSpec
Que faire si vous obtenez une erreur indiquant "Veuillez saisir une valeur valide" lors de l'obtention avec Rails datetime_field
[Solution] Que faire si vous obtenez une erreur Docker "ERREUR: Impossible de se connecter au démon Docker sous unix: ///var/run/docker.sock. Le démon docker est-il en cours d'exécution?"
Que faire si vous recevez l'avertissement «Le validateur d'unicité n'appliquera plus la comparaison sensible à la casse dans Rails 6.1.» Dans Rails 6.0
Que faire si vous ne pouvez pas obtenir le texte d'un élément dans Selenium
Comment faire un pot avec l'ancien Hadoop (hadoop-core-0.20.2-cdh3u6) dans Gradle: (Que faire si vous obtenez Impossible de développer ZIP ..)
Que faire si vous modifiez l'adresse d'écoute à partir de l'écran des paramètres dans le menu fixe Mattermost
Si la méthode de validation personnalisée indique "Erreur d'argument: vous devez fournir au moins une validation"
Que faire si vous obtenez d'autres occurrences d'erreurs d'analyse de l'en-tête http seront consignées au niveau de débogage. Dans Tomcat 8.5.37
Que faire si vous obtenez une erreur indiquant Impossible de trouver un baseurl valide pour le dépôt lorsque vous utilisez le menu fixe yum -y install dans le cours udemy à l'aide de CentOS7