In various "how to set up your Ruby development environment on an M1 Mac" tutorials (like this one), there is a repeated recommendation to run the entire terminal under Rosetta2.

What is the problem that this addresses? What software needs it? Is it an outdated recommendation since Homebrew started supporting M1? Is there a way to track across multiple packages when an update to native dependencies is available (presumably there will be a point when everything becomes native)?

New contributor
iftheshoefritz is a new contributor to this site. Take care in asking for clarification, commenting, and answering. Check out our Code of Conduct.
  • Where is it stated and what rationale do they give. Also macports supports arm fully so brew not working is not a sufficient reason – mmmmmm Apr 8 at 7:53
  • @mmmmmm The point is that they do not give rationale, that is the exact question I am asking. Also the Ruby community is dominated by homebrew and moving to macports would leave one isolated when it comes to using online community advice. I would rather run every single dependency under Rosetta than switch. – iftheshoefritz 2 days ago
  • We have to see the tutorials you refer to and we can only give reasons if they even just give a hint why. Basically we can't see a reason given the information you provide – mmmmmm 2 days ago
  • He actually edited the question and added the link to the tutorial? – jksoegaard yesterday

You haven't linked to any specific tutorials making this recommendation, so it is hard to know why specifically they recommend it, or for what kind of development, you're setting your Mac up.

I have seen many development-oriented tutorials recommend that you setup a secondary Terminal that is run under Rosetta as a convenience. I.e. you duplicate your favorite Terminal program in /Applications, and set one to run under Rosetta and the other to run natively.

This makes it possible to use the special Rosetta Terminal and be sure that programs you run in there will be run through Rosetta without you having to explicitly ask for it. If you often use a program or programs that require this, it can be easier to do it like that.

If you only have a single program that needs special treatment, it might be easier to simple setup an alias in your shell to run that program in a different manner than the rest. YMMV.

In terms of your long list of questions:

Problem it addresses: Avoids having to manually ask for Rosetta when needed. Disadvantage: Won't get native performance when available.

What software needs it: None. You can just use a regular Terminal and ask for Rosetta when needed.

Is it an outdated recommendation: Perhaps - impossible to know without knowing specifically what you're referring to. If it was recommended due to some often used programs not being available natively, and they still aren't - then no it is not outdated.

Is there a way to track across multiple packages whether this step is necessary: The step is never necessary.

  • Depending on when the blog was written various compilers eg rust go fortran did not support apple arm. Now I think fortran is the only one of these and there is a non open source version which does – mmmmmm Apr 8 at 7:57
  • Yes, but you still do not need to run your Terminal program under Rosetta in order to run a compiler under Rosetta. – jksoegaard Apr 8 at 7:58
  • True. So as we have both noted we need to see the actual recommendations to see why – mmmmmm Apr 8 at 7:59
  • It is Ruby. I've updated my question. – iftheshoefritz 2 days ago

Not the answer you're looking for? Browse other questions tagged .