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.
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.
sudo apt remove cmdtest
sudo apt remove yarn
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
update
apt-get update
apt-get install yarn
yarn -v
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.
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