После запуска
brew install yarn
В моей системе установлена нижняя версия node
:
$ node -v
v10.5.0
потому что node
является зависимостью yarn
(поправьте меня, если я ошибаюсь, пожалуйста, скажите мне, если я тоже прав)
Но это вызывает проблему с yarn
(проблема, с которой я сталкиваюсь - this ), поэтому я хочу использовать старую версию node
, чтобы мое приложение работало сейчас. Согласно это , я сделал это:
$ brew install node@8
$ brew unlink node
$ brew link node@8
Но $ brew link node@8
дает мне следующее:
Warning: node@8 is keg-only and must be linked with --force
Note that doing so can interfere with building software.
If you need to have this software first in your PATH instead consider running:
echo 'export PATH="/usr/local/opt/node@8/bin:$PATH"' >> ~/.zshrc
Я использовал rvm, ruby можно переключать, просто используя rvm use ruby-version-here
, поэтому я думаю, что brew link formula
будет работать, но зачем это нужно?
Я понимаю, что brew только для бочонка означает, что он находится только в подвале и не связан с / usr / local / bin / или / usr / local / lib /, но не является ли brew ссылкой, помогающей нам связать его, зачем это нужно опция --force, что она делает, она чувствует себя опасно.
brew help link
говорит:
Если передано --force (или -f), Homebrew разрешит формулу только для кег
быть связанным.
Почему мы должны быть осторожны, чтобы связать их? Мы что-нибудь сломаем?
Я хочу использовать node@8
вместо node (the latest version)
, как правильно это сделать? Должен ли я просто работать с параметром force, как предложено brew?
Обновление 1:
Когда я продолжаю искать и выяснять причину, я вижу это , но я не понимаю этого полностью. Кажется, что нужно удалить какой-то файл при ссылке на новую версию формулы. Но я думал, что связывание будет просто заменить ссылку где-то, может быть, просто заменить один файл? Зачем создавать конкретную опцию --force для ссылки на новую формулу только для кег? Я подозреваю, что есть что-то особенное в природе формул только кег. Кто-нибудь понимает почему?
Примечание:
Это и Это объясняет, что означает только кеги