使用Rails+Docker环境配置时,yarn无法成功安装

概述

我遇到了在Rails 6和Docker环境搭建时的问题,现在写下了关于问题原因和解决方法的内容。

现象

    dockerfileを使って、docker環境にRailsサーバを立てようとした。
    その際、Railsを使う際の環境要件としてYarnが必要となるが、上手くインストールできなかった。

当尝试安装Webpacker时…

RUN bundle install && rails webpacker:install

发生以下错误,需要版本在1至2之间的yarn:
需要一个1至2版本的yarn。

Webpacker requires Yarn ">=1 <2"

通过apt-get install命令进行安装,原以为已经成功安装,但根据上述错误,发现安装并不成功。

RUN apt-get install -y yarn

造成这种情况的原因是什么?

    yarnのバージョンが古い
    エラー文の内容をヒントにして原因をググってみたところ、yarnのバージョンが古いと今回のようなエラーが発生するそう。

解决方案 ‘àn)

    古いバージョンのyarnを一度削除して、最新のパッケージを取得・参照するリポジトリ設定を追加。
    再度yarnをインストールする。
# デフォルトでインストールされているcmdtestを削除
apt remove cmdtest
# 古いバージョンのyarnを削除
apt remove yarn
# 最新パッケージの取得と、パッケージインストール時のリポジトリ設定を追記
RUN 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 -y yarn

请查考

在Debian或Ubuntu Linux上,您可以通过我们的Debian软件包仓库安装Yarn。您首先需要配置此仓库。

    今回は、Rails6系+Ruby3.0を使用したため、LinuxOS情報を確認しました。
    yarnをインストールするOS環境がDebianだと分かったので、Yarn公式サイトの該当ページを参考にしてみました。
# cat /etc/issue
Debian GNU/Linux 11 \n \l

最后

阅读Yarn官方网站后,我发现它详细说明了安装步骤和错误处理方法……由于我暂时选择使用apt-get进行安装,导致了这次的错误出现,所以我深深感到应该先养成阅读官方文档的习惯。

bannerAds