如何更改系统使用的 yarn 版本?

How do I change the version of yarn used by my system?

我是 运行 Mac OS X 10.14.6,我正在尝试安装最新版本的纱线并在我的系统上运行。

所以我用 Homebrew 安装了它,它告诉我我已经在我的系统上安装了它:

$ brew install yarn
Warning: yarn 1.21.1 is already installed and up-to-date

但是当我 yarn --version 时,我得到了这个:

$ yarn --version
[DEPRECATION] The trollop gem has been renamed to optimist and will no longer be supported. Please switch to optimist as soon as possible.
Yarn v0.1.1 2011 Jesper Kjeldgaard

所以我尝试重新安装它并发生以下情况:

To reinstall 1.21.1, run `brew reinstall yarn`
Transmit-Live $ yarn --version
[DEPRECATION] The trollop gem has been renamed to optimist and will no longer be supported. Please switch to optimist as soon as possible.
Yarn v0.1.1 2011 Jesper Kjeldgaard
Transmit-Live $ brew reinstall yarn
==> Reinstalling yarn 
==> Downloading https://yarnpkg.com/downloads/1.21.1/yarn-v1.21.1.tar.gz
Already downloaded: /Library/Caches/Homebrew/downloads/784c559ca8d97--yarn-v1.21.1.tar.gz
  /usr/local/Cellar/yarn/1.21.1: 14 files, 5MB, built in 8 seconds
Transmit-Live $ yarn --version
[DEPRECATION] The trollop gem has been renamed to optimist and will no longer be supported. Please switch to optimist as soon as possible.
Yarn v0.1.1 2011 Jesper Kjeldgaard

我也试过 brew switch 但没用:

$ brew switch yarn 1.21.1
Cleaning /usr/local/Cellar/yarn/1.21.1
2 links created for /usr/local/Cellar/yarn/1.21.1
Transmit-Live $ yarn --version
[DEPRECATION] The trollop gem has been renamed to optimist and will no longer be supported. Please switch to optimist as soon as possible.
Yarn v0.1.1 2011 Jesper Kjeldgaard

编辑 1

我什至试过 brew upgrade yarn 也是同样的问题:

$ brew upgrade yarn
Warning: yarn 1.21.1 already installed
Transmit-Live $ yarn --version
[DEPRECATION] The trollop gem has been renamed to optimist and will no longer be supported. Please switch to optimist as soon as possible.
Yarn v0.1.1 2011 Jesper Kjeldgaard

编辑 2

which yarn 的输出:

$ which yarn
/.rvm/gems/ruby-2.7.0@myapp/bin/yarn

我该如何解决这个问题?

谢谢。

您可以使用 brew upgrade 升级软件包,例如

brew upgrade yarn

您可能需要先获取自制软件以更新其包列表,brew update

[编辑]

你的情况有些混乱,brew 安装的 yarn 包是 javascript 包管理器,而你路径上的 yarn 是 ruby gem。您可以使用 gem update yarn 升级后者。如果您想使用 JavaScript 包管理器,请尝试修改您的路径,或使用完全限定路径(类似于 /use/local/bin/yarn

我想通了。

基本上发生的事情是我安装了两个版本的 yarn。一个是 gem,另一个是 yarn 可执行文件。

所以我只是 运行 gem uninstall yarn 并修复了它。

$ gem uninstall yarn
Remove executables:
    yarn
in addition to the gem? [Yn] Y
Removing yarn
Successfully uninstalled yarn-0.1.1

现在当我 yarn --version 它工作正常。

$ yarn --version
1.21.1