Why I needed to hand out my address and phone number to Apple to install a NodeJS dependency.

2020-11-23 at 10:25

First and foremost, I don't *hate* any language like some people do. If a project requires me to write a certain language, that's fine. There are reasons to use any popular language right now.

Though, there are languages that have an infrastructure that make my head spin. NodeJS is one of those. Never in my lifetime I have downloaded a node-based project and could start developing right away. There's always *something*. Today that hick-up was a bit special and I felt the need to share my experience.

I was allowed to work on a Django project we had around, which I was hyped about, since I like Django a lot. So I download the project and to my surpise, I'm seeing a lot of NodeJS files. package.json, gulpfile.js, package-lock.js. I'm already getting goosebumps because I know what's going to happen. That sudden creep down your neck that you get in a horror movie when you realize it was all a trap and someone's going to die.

So I do what every developer does when they first download a project. They try to start it. I look at some files to see what they do, then download the dependencies. npm install --save-dev .

A bunch of familiar text rolls by, the usual amount of warnings that npm spits out and then it just stops with a bunch of red text. Here's what I was looking at.


No receipt for 'com.apple.pkg.CLTools_Executables' found at '/'.
No receipt for 'com.apple.pkg.DeveloperToolsCLILeo' found at '/'.
No receipt for 'com.apple.pkg.DeveloperToolsCLI' found at '/'.

gyp: No Xcode or CLT version detected!
.....
.....
gyp ERR! cwd /Users/redacted/Git/portal/node_modules/node-sass
gyp ERR! node -v v14.13.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
Build failed with error code: 1


Specifically: gyp: No Xcode or CLT version detected! got my attention. I am asked to install a text editor / IDE to install my projects dependencies. "Alright", I thought. Maybe there are some development libraries that get installed with it. "Let's download xcode then...". I proceed to open up the apple store for the first time on the MacBook I was handed from work. I've never done that before, because I never needed to. I'm using open-source tools for the most time anyways, which aren't platform specific.

It asks me for my Apple ID.

I didn't even know you need an ID to download applications. Since there was no way around it and I needed to get stuff done, I clicked "Create Apple ID". It starts of tame. Name, surname and date of birth. Probably for age restricted apps, whatever. Then it asks me what kind of bank details I want to enter with the option to select "None". For some reason it still asks for my address. Why does an application downloading service need my address? Picture me in this moment. My eyes start twitching a little bit, I'm gazing out the window and thinking over if I really wanna give a company my Address to download an application. I start gesticulating my disgust over this practice and enter some fake details. I click "Next".

It worked. I cheated the system! I was in awe. Until I read what came next.

They need my phone number for verification.

I couldn't believe it. A company that is known for their privacy respecting practices and software literally asks you for your address and phone number the second you wanna use an app store. And it's okay because people don't care. They get away with this, because they have a perceived monopoly of software distribution once you buy into their Apple universe. You can install other software, but only a handful of people, like us developers use software not served by the companies software vendor.

I will not hand out my phone number to Apple. Guess I'll look for xcode somewhere else.
Signing off.