尽管我应该在Docker中安装了yarn,但当收到“ERROR: There are no scenarios; must have at least one”错误时,解决方法如下
背景
我本以为在Docker中安装了yarn,但当我尝试运行以下命令时却收到错误提示。
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
执行yarn命令时出现错误。
root@5847e387581e:/kosare# yarn -v
ERROR: There are no scenarios; must have at least one.
临时解决方案
如果基本上按照参考URL中的指示来操作,问题应该会解决。
对于我的情况,因为我已经以root权限登录,所以删除了其中提到的sudo并按照顺序进行操作,问题得以解决。
删除旧的纱线
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
更新
apt-get update
重新安装
apt-get install yarn
确认版本
yarn -v
根本解决方案
如果按照上述的方法, 在docker中重新执行bundle install时会再次出现相同的问题。
为了解决在Dockerfile中构建的问题, 可在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
Docker文件(最终版本)
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
如果重新进行构建,应该可以正确使用yarn。
请提供以下内容的中文释义,只需提供一种选项:
参考
以下是用中文对以上三个网址的描述:
1. 在这个链接(https://k-koh.hatenablog.com/entry/2020/04/02/143017)中,提供了有关某个主题的详细信息。
2. 在这个Github链接(https://github.com/yarnpkg/yarn/issues/7329)中,讨论了一个关于Yarn软件的问题。
3. 这个链接(https://qiita.com/MasatoraAtarashi/items/3f0317cd648ff63fa92c)包含了一篇关于某个主题的文章。