G B
G B

Reputation: 2453

Not able to install ng CLI on macOS Sierra

I did a clean install of macOS Sierra yesterday, when I tried installing ng CLI I got this error.

Error: EACCES: permission denied, rmdir '/usr/local/lib/node_modules/.staging'

I have tried to do sudo uninstall, npm clean cache, and re-install but with no luck. How can I solve this issue?

Upvotes: 1

Views: 1858

Answers (1)

G B
G B

Reputation: 2453

I was able to fix the error by using option 2 in the NPM documentation:

Option 2: Change npm's default directory to another directory

There are times when you do not want to change ownership of the default directory that npm uses (i.e. /usr) as this could cause some problems, for example if you are sharing the system with other users.

Instead, you can configure npm to use a different directory altogether. In our case, this will be a hidden directory in our home folder.

  1. Make a directory for global installations:

    mkdir ~/.npm-global
    
  2. Configure npm to use the new directory path:

    npm config set prefix '~/.npm-global'
    
  3. Open or create a ~/.profile file and add this line:

    export PATH=~/.npm-global/bin:$PATH 
    
  4. Back on the command line, update your system variables:

    source ~/.profile` 
    

Test: Download a package globally without using sudo.

    npm install -g jshint

Instead of steps 2-4 you can also use the corresponding ENV variable (e.g. if you don't want to modify ~/.profile):

NPM_CONFIG_PREFIX=~/.npm-global

Upvotes: 3

Related Questions