Skip to content

fix: errors are shown on postinstall when using sudo #4493

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Apr 2, 2019

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.

2 participants