Brewskey / spark-server

An API compatible open source server for interacting with devices speaking the spark-protocol
https://www.particle.io/
GNU Affero General Public License v3.0
54 stars 27 forks source link

Problems running test's on MacOS /(Unix?) #210

Closed haeferer closed 7 years ago

haeferer commented 7 years ago

I had a lot of problems running the new test (using tempoary files in node folders)

Now i understand whats going on... :(

On MacOS (maybe unix at all) all installations from node (.nodeModules, and global) are installed using ROOT and a user has no write permissions on this files.

(everytime you execute npm install you have to use SUDO)

THIS is a security feature. No NODEJS script can change other modules or directories from these modules !

THIS restriction does not exists on windows

But it gets even worse...

Yesterday i overcome this problem buy running git commit using SUDO, everythings seems fine.

Today i'am not able to commit to my local git directory. Reason is simple: using sudo on git commit are ending up with files in .git directory with ownership ROOT. My normal Enviroment (as user, not sudo) is NOT able to change some parts of the .git directory anymore (and fails with different problems)

to change everything to root makes security in nodejs disappear (this seems ok, for windows, but on unix systems it's a mess)

Are we able to change Creation of Files during Tests to be executed in a local nodeJS folder (./temp_test), not inside any other folder on system outside of projectfolder?

haeferer commented 7 years ago

I will analyse the problem a little bit more

haeferer commented 7 years ago

the problem is based on AVA.

AVA creates a cache directory inside the node_modules folder

this fails on MacOS (reason in previous comment)

I've made a PR to change the --no-cache attribute on package.json