Pacharapol Withayasakpunt Pacharapol Withayasakpunt
Sun 7 July 2019
Python and Ruby is pre-installed in macOS, but ...

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.