使用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进行安装,导致了这次的错误出现,所以我深深感到应该先养成阅读官方文档的习惯。