Python and Ruby is pre-installed in macOS, but ...
Just don't install anything into System's programming languages, unless you have a virtual environment. Also, you can manage Python and Ruby's versions.
For Python, pyenv and there is Virtual Environment, which is quite opinionated. I use poetry, though. I also tried to fit /.venv/
into the project folder, which requires additional settings.
Also, System's Python doesn't seem to be protected with sudo
… Unprotected is bad, and you can do something wrong…
Of course, PyCharm makes this less of a fuss, and you don't have to choose between Pipenv and Poetry anymore.
For Ruby, you should use either rvm or rbenv, but there doesn't seem to be a concept of foldered Virtual Environment. However, if you don't use rvm
or rbenv
, you might have to sudo to install gem
, which is bad.
JavaScript's Node.js, although aren't pre-installed, also has a problem of sudo npm install -g
. If you don't want to sudo
, you will have to properly install nvm.