我使用 Homebrew 安装 yarn
。运行 yarn -v
表明我当前使用的是 0.23.2
。我运行 brew upgrade yarn
以获取最新版本,即 0.24.6
。
Homebrew 成功升级 yarn
后,我再次运行 yarn -v
,但版本仍然是 0.23.2
。如何更改正在运行的 `yarn 版本?
which yarn
的终端输出是什么?
/Users/DavidHu/.nvm/versions/node/v6.2.1/bin/yarn
/Users/DavidHu/.nvm/versions/node/v6.2.1/bin/yarn
优先于您的 /usr/local/bin/yarn
)。我建议您与您的包管理器保持一致(例如,操作系统级别使用 homebrew
,节点包使用 npm
等)
yarn policies set-version <version number>
每https://github.com/yarnpkg/yarn/issues/7146#issuecomment-477809216
您可以使用 homebrew 和 yarn 公式 URL 来安装旧版本的 yarn,然后根据需要在不同的 yarn 版本之间安装 brew switch
。完美运行!归功于 github 用户 robertmorgan。
首先,如果您已经安装了一个版本,请在终端中运行 brew unlink yarn 命令将其与 brew 取消链接。接下来,在 Web 浏览器中,找到已合并的 Pull Request,其中包含您要安装的 Yarn 的公式(版本)。查看该拉取请求中更改的文件 - Formula/yarn.rb 应该有一个。单击 Formula/yarn.rb 文件的“查看”按钮以查看该提交文件的全部内容。单击该按钮可查看该文件的“原始”版本。这将打开一个以 https://raw.githubusercontent.com/.. 开头的 URL。这是您下一步需要的 URL - 因此将完整的 URL 复制到剪贴板。返回您的终端窗口,使用命令 brew install 后跟您复制的 URL。例如,要安装 v1.6.0 的纱线,它将是: brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/fba7635ab69384ac980c635483a7af825bc06088/Formula/yarn.rb 然后您可以通过运行验证 Homebrew 可用的版本:brew列出 --versions yarn,并使用 brew switch yarn VERSION_NUMBER 在版本之间切换
来源:https://github.com/yarnpkg/yarn/issues/1882#issuecomment-421372892
brew extract --version <version> yarn homebrew/cask
和 brew install yarn@<version>
感到高兴
brew install https://raw.githubusercontent.com/DanBuild/homebrew-core/552359058976923c627d00e3dc99b40746618c7f/Formula/yarn.rb
并收到此错误:Invalid usage: Installation of yarn from a GitHub commit URL is unsupported! brew extract yarn to a stable tap on GitHub instead. (UsageError)
brew extract --version 1.6.0 yarn homebrew/cask
然后 brew install yarn@1.6.0
我找到了答案。这不是最漂亮的,但由于 yarn
总是告诉我最新的版本是什么,我可以使用 npm 来安装最新版本。
如果最新的是 0.24.6
npm install --global yarn@.24.6
编辑:
根据yarn的官方文档,安装/升级的方式是:
brew install yarn
brew upgrade yarn
https://yarnpkg.com/en/docs/install#mac-stable
最好的办法是使用 yarn version manager。
安装:
curl -fsSL https://raw.githubusercontent.com/tophat/yvm/master/scripts/install.sh | bash
单次使用:
yvm exec <version> <command>
或者切换你当前运行的纱线版本
yvm use <version>
yarn --version
-bash: yvm: command not found
。有任何想法吗?
source ~/.yvm/yvm.sh
完成了这项工作
2021 年 12 月更新:
遗憾的是,Homebrew 2.6.0(2020 年 12 月)弃用了 brew 开关
$ brew switch
Error: Unknown command: switch
TLDR,切换版本:
brew unlink yarn
brew link yarn@<new_version>
旧解决方案:
假设您安装了其他版本,您可以运行
brew switch yarn <old_version>
要列出您已安装的版本:
brew list --versions yarn
您可以使用
yarn set version <version>
例如,如果你想要最新版本,你可以运行
yarn set version latest
您还可以将其设置为特定数字,例如,
yarn set version 1.22.1
您可以在 official website 查看完整文档。
注 1:一个错误阻止您从纱线 2 切换到纱线 1。此 GitHub issue 中有解决方案。
注意 2:我不使用 brew,但这个解决方案应该仍然有效。
这是一种仅使用 curl
和 bash
的方法:
curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version 0.24.6 # or another version
无论您是否安装了纱线,这都有效。
要在 macOS 上更新版本,请使用以下命令:
$ brew upgrade yarn
上面的一些答案似乎不再起作用了。以下是我在 2021 年 4 月安装不同版本的方法:
brew unlink yarn@1.6.0
(如果您已经安装了一个版本)
brew extract --version 1.22.4 yarn homebrew/cask
brew install yarn@1.22.4
yarn -v
policies
可能在该版本的 yarn 中不可用。yarn set version <version number>
根据 next.yarnpkg.com/cli/set/version~/.yarn
并重新安装,它也会恢复到您在此命令中使用的版本,因此请注意