Ruby on rails 如何在CircleCI docker映像中指定包安装(用于纱线)?

Ruby on rails 如何在CircleCI docker映像中指定包安装(用于纱线)?,ruby-on-rails,yarnpkg,circleci,Ruby On Rails,Yarnpkg,Circleci,我正在使用CircleCI测试Rails应用程序。我需要让我的图像使用比我们用于CI测试的图像更高版本的纱线(当前为1.19)(circleci/ruby:2.6-node-Browser) config.yml中的配置步骤/条目是什么?我假设我必须在构建步骤中运行一些东西来升级Thread版本(图中当前版本为1.17),但我不知道它是什么。首先,我尝试通过示例中的curl命令安装Thread(从10月19日开始),该命令如下: run: name: install Yarn comma

我正在使用CircleCI测试Rails应用程序。我需要让我的图像使用比我们用于CI测试的图像更高版本的纱线(当前为1.19)(
circleci/ruby:2.6-node-Browser

config.yml
中的配置步骤/条目是什么?我假设我必须在构建步骤中运行一些东西来升级Thread版本(图中当前版本为1.17),但我不知道它是什么。

首先,我尝试通过示例中的
curl
命令安装Thread(从10月19日开始),该命令如下:

run:
  name: install Yarn
  command: curl -o- -L https://yarnpkg.com/install.sh | bash
这不起作用-
纱线-v
仍返回1.17

我随后收到CircleCI support的回复,并将其更改为:

      - run: |
          curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
          echo "deb https://dl.yarnpkg.com/debian/ rc main" | sudo tee /etc/apt/sources.list.d/yarn.list
          sudo apt-get update && sudo apt-get install yarn
          sudo rm /usr/local/bin/yarn && sudo ln -s /usr/bin/yarn /usr/local/bin/yarn

这起作用了。我猜这是因为
sudo
的使用正确地设置了全局路径软链接,而本地安装没有。我可以通过重置
PATH
变量来达到这里,但我将其粘贴在这里,因为使用
apt
路径对我来说似乎是“更好的”解决方案。

您是否阅读了“是”,我不明白它指示我做什么-我想我应该添加
curl
命令,但是我不知道这一行应该放在
circleci/config.yml
中的什么位置。我确实意识到我可以在
步骤
部分中添加安装指令作为条目,但问题是我们还有一个缓存,它依赖于warn.lock文件的校验和。这意味着缓存中仍然使用较旧版本的1.17-如果我能找出如何使缓存依赖于纱线版本,我想我已经解决了这个问题。