可选项

当我尝试 npm install新软件包时,它会显示这个错误:

可选: 动词 npm-session 585aaecfe5f9a82

node --version
8.4.0


npm --version
5.3.0
236056 次浏览

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.

Try this

npm config rm proxy
npm config rm https-proxy

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/

try this:

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

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

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.

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.

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

Worked for me

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

use sudo before your command as


sudo npm install

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

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.

I set two system environment variables -

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

This actually worked for me.

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.

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!!

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...

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.

    # 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.

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

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.

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

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.

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

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.

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 ABC0 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!

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

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.

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

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.

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 ✔️.