Error 403 - Forbidden while trying npm install - npm

So just like every day I do different projects and install additional modules, today I want to install another module and such an error, reinstall the server and still the same .... [Error]The error appeared overnight

I found the issue from here: https://github.com/npm/npm/issues/2119#issuecomment-5321857
It's a very common issue in npm. Actually npm is not working good with HTTPS over a proxy. Changing the registry URL from HTTPS to HTTP will fix the problem.
Try this out:
npm config set registry http://registry.npmjs.org

Related

ERROr: **npm ERR! Unexpected token < in JSON at position 0 while parsing near '<!DOCTYPE HTML PUBLI...'**

Image I am cloning the sitecore Habitat project to my local machine.
After cloning while running npm install, I am getting this error. I tired in all possible ways from the stack overflow answers, but did not succeed with answers still its showing errors, if anyone known about this please let me know.
ERROr: **npm ERR! Unexpected token < in JSON at position 0 while parsing near '<!DOCTYPE HTML PUBLI...'**
Just delete
package-lock.json file
It works for me.
I getting error like:
I found this solution in another question and worked for me after I set the registry like this:
npm set registry https://registry.npmjs.org/
Setting npm Registery worked for me
npm set registry https://registry.npmjs.org/
This error means there is a proxy in the middle which is denying you access to the Internet.
The error comes from the HTML page that is rendered from the proxy.
You need to check with your network administration to either allow the connection through (an exception), or you have to configure the variable HTTP_PROXY in your environment, which is like this:
http://username:password#proxy.server.com:port
Having tested npm install in several repos with the same error I ran npm cache clean --force and tried again. This is not as severe a solution as deleting all traces of node and reinstalling from the ground up.
I use an npm registry hosted at work for internal npm packages so couldn't change the registry source.
yes , its happned due to proxy setting, if this problem occurs, please check your proxy setting, in my case npm was getting blocked, You need to check with your network administration to either allow the connection through (an exception), or you have to configure the variable HTTP_PROXY in your environment
You need to check all required npm config setup like:
https-proxy=https://username:password#accessdomain:port/
proxy=http://username:password#accessdomain:port
registry=https://registry.npmjs.org/
//If required also add
msbuild_path=C:\Program Files\Microsoft Visual Studio\2022\Community\Msbuild\Current\Bin\MSBuild.exe
I was getting the same issue. I had un-installed NodeJs and deleted folders npm and npm-cache from Users\username\Appdata\Roaming folder and installed it.
Then set config registry by using command terminal as.
npm config set registry https://registry.npmjs.org/
To give an actual description of the problem and solution:
This happens when the URL set as your npm registry is incorrect (or as others have mentioned, a proxy has got in the way). Either way, you end up trying to download a package from an endpoint displaying HTML, which npm fails to parse as JSON (as one would expect).
You can view the URL for your npm config with
npm config get registry, and set it with npm config set registry https://my.registry.com/ (or https://registry.npmjs.org/ for the public registry)
I tried everything mentioned here. Nothing worked. Then I moved jsonwebtoken dependency to the bottom of package.json ( Below my registy specific dependencies ).
Then it worked!
Spent 6 hours in fixing this. I feel so small now.

“Unexpected Token <” error in HTML while using socket.io via npm

I know this issue has been discussed in an old post. But in that scenario the developer was importing socket.io via a script tag. I am getting the same error on my local build and I have installed socket.io using npm.
Has anyone had a similar issue? How can this be corrected?
Turned out to be an npm cache issue for me. After several attempts I was able to resolve this by clearing my npm cache, deleting all of the modules, and then re-running npm install.

npm running task rollbackFailedOptional forever

I'm trying to install a new package via npm. Something like this:
npm install -g connection-test
Sadly the console is never finishing the task "rollbackFailedOptional".
I'm behind a proxy which I added to the npm config.
I removed the s from the https of my registry.
Any ideas what could be the issue or how to resolve this?
I made a mistake in the configuration. Didn't put the https:// in front of the Ip-address of the proxy.

500 Internal Server Error: npm#latest

I have a problem with npm I can't get any package. For example running :
npm install -g npm#latest
gives :
npm ERR! code E500 npm ERR!
500 Internal Server Error: npm#latest
If I try to access https://registry.npmjs.org/ I get :
Fastly error: unknown domain.
Please check that this domain has been added to a service.
I looked into my /etc/hosts and nothing wrong there, any ideas ?
---------------- INFOS -----------
NodeJS : v9.2.0
npm : 6.0.1
OS : Ubuntu 16.04.4 LTS
Below step resolve my npm registry issue. I hope same will be work for you.
Try to set npm registry using : npm config set registry https://registry.npmjs.org/
Check result of curl https://registry.npmjs.org/
Clear the cache: npm cache clean --force
Try to run npm install
From corporate network sometimes you won't be able to properly resolve registry.npmjs.org. To workaround the problem do the following.
dig registry.npmjs.org #1.1.1.1
Take any of the ip in the output and add to /etc/hosts
104.16.16.35 registry.npmjs.org
You should be good to go now.
I also faced the same issue.
Below solution worked for me at least:
comment out this part in windows hosts file
# 151.101.0.162 registry.npmjs.org
500 error indicates issue with the server. Yesterday I was facing this issue whenever I tried installing packages with npm. Upon searching a bit, I found status.npmjs.org. It's a page that shows the current status of npm registry. There was an outage due to DNS misconfiguration which was mentioned on the page.I kept checking the status page, and eventually there was a status update :
Update - This has now been resolved for most users and we will continue to monitor until it has cleared for everyone.
Sep 1, 17:13 UTC
After this update, I was able to install packages without any issues.

manually install npm packages?

I'm experimenting with protractor and following tuturial on github. NPM was already present on my system, I succesfully downloaded protractor and now I'm proceeding with
webdriver-manager update
Which fails with
downloading http://selenium-release.storage.googleapis.com/2.42/selenium-server-standalone-2.42.2.jar...
Error: Got error Error: getaddrinfo ENOTFOUND from http://selenium-release.storage.googleapis.com/2.42/selenium-server-standalone-2.42.2.jar
Updating chromedriver
Error: Got error Error: getaddrinfo ENOTFOUND from https://chromedriver.storage.googleapis.com/2.10/chromedriver_win32.zip
downloading https://chromedriver.storage.googleapis.com/2.10/chromedriver_win32.zip...
Per earlier answered equal questions I double checked my npm proxy settings, all fine for http and https. Also I can see the username:password#proxy definition in .npmrc in my userprofile directory (c:/Users/my-name), the files are also present on the internet. Also the npm install action of protractor worked well. Now is it possible to manually (via browser download the relevant files and have them exploded and installed in the designated places?
I'm on windows 7 SP 1, 32 bit.
Yes you can manually install the webdriver-manager file in "node_modules\protractor\bin".
By the way , the error message really looks like you have a trouble to access internet.
Did you try to set these variables before launching your npm command:
set HTTP_PROXY=http://'your http proxy ip':'your proxy port'
set HTTPS_PROXY=http://'your https proxy ip':'your proxy port'
To answer my own question:
As Yannick mentioned: I only set the proxy configuration with npm config ... For this you also need to set the environment variables
set PROXY=http://<username>:<password>#proxyserver
set HTTP_PROXY=%PROXY%
set HTTPS_PROXY=%PROXY%