110

When I try npm install new packages it shows me this error:

rollbackFailedOptional: verb npm-session 585aaecfe5f9a82

node --version
8.4.0

npm --version
5.3.0
Farhan Yaseen
  • 2,507
  • 2
  • 22
  • 37
Bipul Prasai
  • 1,101
  • 2
  • 9
  • 7
  • 1
    I am also getting same error. did you find any solution for this? – Anil Oct 10 '17 at 21:25
  • 1
    This is most likely due to your company's firewall. Use a non company internet connection or try to set a proxy that is provided by your company's admin to reach NPM repo server. – Prometheus Apr 03 '20 at 05:19
  • Make sure your Terminal is focused while installing. In my case, I always tried to focus on the browser and let the installer do its thing which removed the terminal from focus. But that did not work. After reading the suggestion on this thread, https://stackoverflow.com/questions/62499501/npm-install-error-rollbackfailedoptional-verb-npm-session-a0d68-for-command-np it worked. I had to basically wait until the first progress bar is finished. Then I could focus on other windows and the download was successful. Not sure what was wrong but it worked pretty well. – iheathers Dec 15 '21 at 16:27
  • This could also arrive when using the wrong package name, _e.g._ `npm install react-native-picker/picker` instead of `npm install @react-native-picker/picker`. – Eliott Paris Aug 12 '22 at 12:42

32 Answers32

134
    # first this
    > npm config rm proxy
    > npm config rm https-proxy

    # then this
    > npm config set registry https://registry.npmjs.org/

solved my problem.

Again: Be sure to check whether you have internet connected properly.

Sam
  • 3,070
  • 3
  • 20
  • 26
anvarik
  • 6,417
  • 5
  • 39
  • 53
  • 3
    this did not solve my issue unfortunately. I am just on a simple home network, no proxy, I have had this error on and off for a long time, sometimes when I use VS Code I can open a cmd prompt (non-VS Code) and it works, but not in the IDE. I have just uninstalled NodeJS, deleted all npm folders in AppData, reinstalled and I still have this error. – Luke T O'Brien Aug 07 '20 at 09:25
  • 2
    For those wondering about the explanation: this will simply remove any proxy you may have set and will set the registry (the place where it finds the packages) back to its default value. So this will only help you if you have somehow misconfigured either of those (and forgot about it, like me) – Johan Jul 20 '21 at 19:27
  • @LukeTO'Brien I too have this error within the VS Code terminal. – ADJenks Dec 23 '21 at 21:07
62

Try this

npm config rm proxy
npm config rm https-proxy
cwtuan
  • 1,718
  • 1
  • 18
  • 20
  • 3
    I worked for me too, but do you know what this command did, and why it worked? I am wondering if I need to install something instead. Thanks! – aztec242 Jul 16 '18 at 14:49
  • 1
    The reason this helps is that somehow, your registry settings got set to something other than the default, and these commands remove those config settings, allow them to revert to their default values. In my case, my work uses a custom registry that was recently put behind a firewall. Working on a personal project at home so I overwrite the npm settings for this project specifically in this directory. See @lambda's answer below for more details. – Andy Groff Mar 19 '19 at 06:14
  • Worked fine. After trying the rollBackFailed.. appeared again but has gone after a few seconds. I have installed nativescript easilty with it. Thank you – Md Ashraful Islam Jun 06 '19 at 18:30
  • 2
    It didn't work for me until I also ran `npm config set registry http://registry.npmjs.org/` – davis Nov 18 '19 at 21:42
  • Same for me as @davis – kayleeFrye_onDeck Dec 09 '19 at 20:38
22

In my case I had to edit the .npmrc directly and add the proxy settings manually.

proxy=http://yourorganizationproxy.com:8080
https-proxy=http://yourorganizationproxy.com:8080

Hope this helps someone.

TuGordoBello
  • 4,350
  • 9
  • 52
  • 78
miqrc
  • 1,964
  • 2
  • 18
  • 24
20

The cause for this might be your current NPM registry. Try to check for a .npmrc file. These can be at various locations:

  • per-project config file (/path/to/my/project/.npmrc)
  • per-user config file (~/.npmrc)
  • global config file ($PREFIX/etc/npmrc)
  • npm builtin config file (/path/to/npm/npmrc)

Within these there can be something like

registry=https://mycustomregistry.example.org

which will take priority over the default one (http://registry.npmjs.org/). You can delete this line in the file or use the default registry like that:

npm <command> --registry http://registry.npmjs.org/
lambda
  • 3,295
  • 1
  • 26
  • 32
16

Most likely to be npm registry cannot be reached by npm. Check npm proxy configuration

I had exactly the same issue on Windows Server 2008 R2. I suspected Internet Explorer's Enhanced Security Configuration at first but after turning that off with no success the issue turned out to be that npm was not configured to use my corporate proxy connection to the internet.

It turns out that npm does not use the proxy settings in effect via Internet Options > Connections tab > LAN settings where the server is set to 'Automatically detect settings'. Being set to automatically detect settings does not guarantee that a proxy is indeed being used, it just means that Windows will automatically configure proxy settings for Internet Explorer if it finds a special'wpad.dat' file at http://wpad.[yourdomain.com]/wpad.dat.

You can test whether a wpad.dat file is in use in your organisation by typing the following into a web browser.

http://wpad.[yourcompany.domain]/wpad.dat

If no file is available then it is likely you are not using an organization-wide proxy. If one does get returned to the browser then...

Toward the bottom of this file, you should see a line saying

PROXY <host:port>;

It might be repeated if you have multiple proxies available. The host and port are needed in order to tell npm to use the proxy settings like so:

npm config set proxy http://[host]:[port]

and

npm config set https-proxy http://[host]:[port]

For example if your proxy is at my.proxy.com on port 8080 then the npm commands would be:

npm config set proxy http://my.proxy.com:8080
npm config set https-proxy http://my.proxy.com:8080

Once I had told npm which proxy to use all started working in I was able to run the install commands without a problem.

Thanks to the following post for help with the wpad file discovery.

12

In my case I had my npm set registry set to https://nexus, use:

npm config delete registry

This will revert to its default state.

Luis Acero
  • 1,080
  • 8
  • 9
5

I tried following options to fix this issue and it worked.

  1. Uninstall Node.js version 8.
  2. Install Node.js version 6.11.4
  3. Use the registry option along with command to install any package.

For example to install express I used following command.

npm install express --registry http://registry.npmjs.org/

or

npm install express -g --registry http://registry.npmjs.org/

If you want to install locally in any specific folder then use below command. Below command will install express on path C:\Sample\Example1 .

C:\Sample1\Example1> npm install /Sample/Example1 express --registry http://registry.npmjs.org/

Note: If you are installing locally in a specific location then first go to that directory using command and then run above command. If you are not inside that directory and giving only path in command that will not work.

If you get package.json missing error then run below command before installing package locally

C:\Sample\Example1> npm init

above command will create package.json file. No need to provide any data. just hit enter.

Note: If you are behind a firewall then you may need to set a proxy.

lambda
  • 3,295
  • 1
  • 26
  • 32
Anil
  • 1,669
  • 5
  • 19
  • 44
3

Hi I'm also new to react and I also faced this problem after so many trouble I found solution: Just run in your command prompt or terminal :

npm config set registry http://registry.npmjs.org/

This will resolve your problem. Reference link: http://blog.csdn.net/zhalcie2011/article/details/78726679

Justin Noel
  • 5,945
  • 10
  • 44
  • 59
  • 2
    A link to a solution is welcome, but please ensure your answer is useful without it: [add context around the link](//meta.stackexchange.com/a/8259) so your fellow users will have some idea what it is and why it’s there, then quote the most relevant part of the page you're linking to in case the target page is unavailable. [Answers that are little more than a link may be deleted.](//stackoverflow.com/help/deleted-answers) – GrumpyCrouton Jan 22 '18 at 19:28
3

Make sure you can access the corporate repository you configured in npm is available.Check you VPN connection.

Else reset it back to default repository like below.

npm config set registry http://registry.npmjs.org/

Good Luck!!

Rudra
  • 41
  • 5
3

The following commands resolved my issue:

npm config set proxy http://yourproxyurl.com:8080  (you need to enter your or your company proxy URL and 8080 should be replaced by your proxy port)

npm config set https-proxy http://yourproxyurl.com:8080
Brooklyn99
  • 987
  • 13
  • 24
1

Seem this bug is not fixed yet [1]. Some people get worked, some people not. I also get not worked.

I tried clear cache with command: npm cache verify then run install command again. I got worked.

[1]. https://github.com/npm/npm/issues/17246

NgaNguyenDuy
  • 1,306
  • 17
  • 13
1

I had the same effect creating a react app with PhpStorm. And then at the end it just says done. Running the same command in the terminal gave me detailed errors. The project folder I've created was named react which seems to be a no-go.

Make sure your project folder is not named react.

Markus Zeller
  • 8,516
  • 2
  • 29
  • 35
0

If you have access to the registry but the error is still occurred nothing mentioned above wouldn't work. I noted that this problem is only applicable for local project's installation (i.e. if you use -g to global install everything is working fine).

What's resolved the problem for me: just remove an entry regarding a package you're going to install from a project's package.json file. After that next call to npm will work and install the package successfully.

Alex Evseenko
  • 122
  • 1
  • 5
0

I had the same issue. But it can run properly with switching from company's internal network to visitor network.

Climber
  • 1
  • 1
0

I set two system environment variables -

  1. HTTP_PROXY = <_proxy_url_>
  2. HTTPS_PROXY = <_proxy_url_>

This actually worked for me.

H S Raju
  • 380
  • 3
  • 12
0

In some rarer occasions, check that the project can be built using regular npm commands. I ran into one that is configured to work with bower, so bower install <github_url> works while npm install <github_url> gives that unhelpful cryptic error message on all platforms...

prusswan
  • 6,853
  • 4
  • 40
  • 61
0

While installing the Angular Command line tool (CLI), If you are getting Rollback Error then it may be occurring due to your network is connected with your Client Network or your Company Network where you are working on.

So Please try to install CLI in your public network (or Your Mobile's hotspot Network) then you would definitely get CLI installed.

Roman Pokrovskij
  • 9,449
  • 21
  • 87
  • 142
Amit Kumar
  • 21
  • 1
0

Solution: The default value of ‘proxy’ and ‘https-proxy’ key of npm config is NULL. After doing some more R & D then I tried to set the proxy setting value to above key (this solution works in my scenario).

Also, the same proxy settings need to be applied in IE browser Internet Settings >> Settings >> LAN settings.

Conclusion: In corporate/some environment the proxy is a somewhat mandatory setting otherwise npm install will not work.

Issue on GitHub: https://github.com/SharePoint/sp-dev-docs/issues/3266

You can refer blog for detailed information https://blogs2share.blogspot.com/2019/01/spfx-environment-setup-error.html

Vikas Bansal
  • 148
  • 2
  • 7
0

You can resolve the issue by looking if your network has any proxies, that is prohibiting the download process. My company's network had a firewall enabled, which was causing the issue for me. So I had to switch to an un-secure network (probably a hotspot from your mobile network), and that worked for me.

Nikhil K.
  • 161
  • 9
0

Mine was due to McAfee firewall. It is set to Ask mode, so should have popped up a prompt to ask for internet connection, but it didn't! Going into McAfee and (temporarily!) disabling the firewall allowed me to install.

antonye
  • 41
  • 5
0

I've already had the proxies set as described above and it was working until today. Then it turned out that now I need "http://" in front of my proxy address: "http://{proxyURL}:{proxyPort}". Then it finally worked.

Liebster Kamerad
  • 6,179
  • 2
  • 19
  • 18
0

Struggled with this issue for some time before figuring it out.
I'm using High Sierra (10.13.6)
Uninstalled and re-installed node and nvm multiple times - using the installer.pkg, HomeBrew, and then using the command line. IMO, the command line works the best.

I followed these steps:
1. Ran npm config ls -l
2. Checked that the value for globalconfig was $<installpath>/.nvm/versions/node/v12.16.3/etc/npmrc But when I tried to get to this path in the Terminal, it gave me No such file or directory
So I
3. created the folder etc, created the npmrc file and added this line in it.

registry = "https://registry.npmjs.org/"


I do not have the ~/.npmrc file in my $HOME

Then
4. I re-ran the npm install command.


Note that this still threw the rollbackFailedOptional: verb npm-session error, but this time it completed, though with a different error. You could try these steps and see if it works.

For those who are curious, it threw a Response timeout while trying to fetch https://registry.npmjs.org/<package> (over 30000ms) error, so I added the timeout = "60000" to the /etc/npmrc file (as found on another Stackoverflow thread), and tried again. This worked for me.

Hope this helps!

Soumitra
  • 99
  • 2
0

Try this all command answered here to solve the problem https://stackoverflow.com/a/54173142/12142401 if problem persists Do the following Steps

Completely Uninstall the nodejs checkout this answer for complete uninstallation of nodejs https://stackoverflow.com/a/20711410/12142401

Download the updated nodejs setup from their website Install it in any drive but not on previously installed drive like if you installed in C drive then install in D,S,G Drive Run your npm command it will completely work fine

0

If you use vpm as I do, try turn it off a sec, at least that's my problem

Enfield Li
  • 1,952
  • 1
  • 8
  • 23
0

I had same problem. I deleted files in my Mac "/usr/local/bin/npm", "/usr/local/bin/node" and deleted folder "/usr/local/lib/node_modules"

and then installed the current latest feature version of node. then problem solved.

When downloaded LTS version, it shows the same problem. So, try installing different versions of node and deleting old one.

Raman Kumar
  • 371
  • 3
  • 11
0

Hi,

For people that use yarn package. Just go to the project folder that you are having this issue with. Let's say the project's folder name is chatApp:

cd chatApp

And then if you have already done yarn or yarn install then delete the node_modules folder and run the below command or if you haven't done yarn install, only run the blow command:

yarn cache clean

Once yarn has successfully cleaned the cache, run the below command:

yarn config set registry https://registry.npmjs.org/

That's it, this should fix the issue ✔️.

Adam John
  • 51
  • 1
  • 5
0

Update: 2023 If all the above-mentioned solutions are not working ... try adding the package name and version on package.json and then from the base dir

npm install

I know it's not a solution but a quick fix , I'm also looking for a permanent sol!

Saikat Mukherjee
  • 500
  • 5
  • 11
0

I had a similar problem, but in my case everything was installing normally except one package. In that case, it was because I was installing a package from a branch like so: github:[user]/[repo]#[branch]. It turns out that if you change that to git+https://github.com/[user]/[repo].git#[branch] it works fine.

What is particularly frustrating about this is that even if you do --loglevel verbose it just hangs and doesn't tell you what it is trying to do. It seems a verbose level should tell me what it is about to do and then tell me it did it so that I know what steps it is hanging on.

cjbarth
  • 4,189
  • 6
  • 43
  • 62
-1

try this:

delete all file in folder: %APPDATA%\npm-cache\_locks

Furetto
  • 329
  • 3
  • 9
-1

For Windows: Run the installer again and choose to 'Repair' the installation

Worked for me

lokeshrmitra
  • 486
  • 6
  • 8
-3

Try this. It worked fine for me

npm install /your_floder_location package_name --registry http://registry.npmjs.org/

Below is the exact command for me for installing vue-router package in my laravel project (my project name vue_laravel)

aslam004:vue_laravel $ npm install /var/www/html/projects/vue_laravel vue-router --registry http://registry.npmjs.org/

Good luck

XPD
  • 1,121
  • 1
  • 13
  • 26
Aslam Ansari
  • 75
  • 1
  • 4
-4

use sudo before your command as


sudo npm install

Ankit Gaur
  • 31
  • 2