Can't uninstall global npm packages after installing nvm

后端 未结 6 937
梦谈多话
梦谈多话 2020-12-03 06:29

I\'ve found several threads related to this issue but none seem to deal with my case specifically and I\'ve been unable to solve using the suggestions I\'ve found.

相关标签:
6条回答
  • 2020-12-03 07:09

    I had experienced the same for one of the npm global package and below solution worked for me. Please use sudo before your command to solve this. like sudo npm uninstall -g "some package"

    Without sudo: []$ npm uninstall -g truffle up to date in 0.082s

    After trying with sudo: []$ sudo npm uninstall -g truffle [sudo] password for shahid: removed 81 packages in 1.902s

    []$:truffle bash: /usr/bin/truffle: No such file or directory

    0 讨论(0)
  • 2020-12-03 07:22

    (nvm maintainer here)

    The list of things that you can npm uninstall -g is available at npm ls -g --depth=0. If you don't see the thing you want to uninstall there, but you can still access it, then if it was npm-installed, it was probably installed with your system version of node.

    You can quickly verify this with nvm use system && npm ls -g --depth=0. If you see the package there, then while using the system version, you can npm uninstall -g it.

    0 讨论(0)
  • 2020-12-03 07:24

    No matter how many times you call npm uninstall babel,

    OR Yarn uninstall -g babel

    OR Yarn uninstall -g babel-cli

    It does shows updated. And when you check it if it still exists by entering "babel -help"

    You get this- > babel still somewhere in your Mac

    I know its frustrating. So I found where these files get stored locally and after removing them from local storage, I finally got -> Finally my system doesn't understand what babel is. What we really want

    How did I find it:

    Finder's search result is not going to give you path of the global babel storage. I found that there is a folder called /usr in in our real-root directory "Macintosh HD" It is hidden

    So, Select finder -> Go -> Go to Folder.. And type "/usr".

    A new finder window will open and it will show all the files inside it. Now you can roam around and check all the files you installed, some probably forgotten and never got a chance to remove.

    Go to usr/local/bin -> and here you will find the files which you globally installed. as shown here - > Directory of shortcuts

    Again, as you can see, there are arrow signs on the icons, which indicate that these are just the shortcuts. Deleting them will cut the link, but the files will still be there somewhere.

    To delete the files, right click on the icon and select "Show Original"

    You will be redirected to a folder where you will find babel.js file.

    Remember, its again just one file. To completely remove the babel-cli, select the column view in the finder, and you can scroll left and check its parent directories. And here is where the actual installations are done.

    finalpath part 1

    finalpath part 2

    You can see, just like basic node modules that gets installed in our local web projects, babel-cli and similar such packages gets installed in similar format but in these global location.

    Now you can right-click the babel-cli folder and move it to trash.

    Hope the hunt is finally over.

    0 讨论(0)
  • 2020-12-03 07:25

    None of the above solutions worked for me.

    My nvm version was 1.0.1 - weird.

    So none of the suggested:

    nvm deactivate && nvm uninstall..
    

    Worked for me, as they are not commands.

    I was trying to uninstall create-react-app

    which create-react-app
    /usr/local/bin/create-react-app
    

    I just done the most obvious and naive thing

    rm -rf /usr/local/bin/create-react-app
    

    And its all good!

    0 讨论(0)
  • 2020-12-03 07:29

    I know this is an old question but if none of the options above work, do this. Go into terminal or command prompt and type "open /usr/local/bin". It will open the hidden folder of 'usr' and look for the file you want to delete. Hopefully this helped.

    0 讨论(0)
  • 2020-12-03 07:30

    Sorry I know this is an old question but here we are in 2019 and was just an issue for me ... what I found is that I needed to invoke uninstall on the npm at the path that NVM cares about.

    Here's what worked for me:

    Tue Aug 20 08:09:07 ~
    <username> $ npm uninstall -g edgemicro@3.0.4
    up to date in 0.051s
    Tue Aug 20 08:09:13 ~
    <username> $ edgemicro --version
    current nodejs version is v8.16.0
    current edgemicro version is 3.0.4
    3.0.4
    // Clearly didn’t work :(
    
    // Let’s try sudo ….
    Tue Aug 20 08:09:18 ~
    <username> $ sudo npm uninstall -g edgemicro@3.0.4
    Password:
    up to date in 0.035s
    Tue Aug 20 08:10:20 ~
    <username> $ edgemicro --version
    current nodejs version is v8.16.0
    current edgemicro version is 3.0.4
    3.0.4
    // Still didn’t work :(
    
    // So where is this seemingly immortal executable?
    Tue Aug 20 08:10:28 ~
    <username> $ which edgemicro
    /Users/<username>/.nvm/versions/node/v8.16.0/bin/edgemicro
    // It’s under some NVM specific path it seems.
    // It seems NPM is also under some NVM specific path, kinda expected.
    Tue Aug 20 08:10:33 ~
    <username> $ which npm
    /Users/<username>/.nvm/versions/node/v8.16.0/bin/npm
    
    // So let’s use that exact npm to perform the uninstall …
    Tue Aug 20 08:10:42 ~
    <username> $ /Users/<username>/.nvm/versions/node/v8.16.0/bin/npm uninstall -g edgemicro
    npm WARN read-shrinkwrap This version of npm is compatible with lockfileVersion@1, but npm-shrinkwrap.json was generated for lockfileVersion@0. I'll try to do my best with it!
    removed 2442 packages in 25.851s
    Tue Aug 20 08:11:24 ~
    <username> $ which edgemicro
    Tue Aug 20 08:11:29 ~
    <username> $ // Done.
    
    0 讨论(0)
提交回复
热议问题