Skip to content

Conversation

@rosen-vladimirov
Copy link
Contributor

When sudo npm i -g nativescript is used, postinstall tasks produce errors, which confuse the users. CLI is actually installed successfully, but error for EACCESS is often shown.
The problem is that npm executes the postinstall scripts with a special OS user - nobody. This user does not have permissions to write in users' directories, so generating html help or writing the user-settings.json file fails.
Npm's solution is to pass --unsafe-perm to the sudo npm install -g nativescript command, which forces the postinstall to be executed with root user.
Fix CLI's code to skip postinstall tasks in case sudo is used and --unsafe-perm is not passed.

PR Checklist

What is the current behavior?

sudo npm install -g nativescript fails with EACCESS, but CLI is installed correctly.

What is the new behavior?

sudo npm install -g nativescript executes successfully.

Fixes issue #4370

When `sudo npm i -g nativescript` is used, postinstall tasks produce errors, which confuse the users. CLI is actually installed successfully, but error for EACCESS is often shown.
The problem is that npm executes the postinstall scripts with a special OS user - `nobody`. This user does not have permissions to write in users' directories, so generating html help or writing the user-settings.json file fails.
Npm's solution is to pass `--unsafe-perm` to the `sudo npm install -g nativescript` command, which forces the postinstall to be executed with root user.
Fix CLI's code to skip postinstall tasks in case sudo is used and `--unsafe-perm` is not passed.
@rosen-vladimirov rosen-vladimirov added this to the 5.3.1 milestone Apr 2, 2019
@cla-bot cla-bot bot added the cla: yes label Apr 2, 2019
@ghost ghost assigned rosen-vladimirov Apr 2, 2019
@ghost ghost added the new PR label Apr 2, 2019
@rosen-vladimirov rosen-vladimirov merged commit 344335b into release Apr 2, 2019
@rosen-vladimirov rosen-vladimirov deleted the vladimirov/fix-errors-postinstall branch April 2, 2019 09:15
@ghost ghost removed the new PR label Apr 2, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants