NPM deprecated package makes install fail - npm

I am struggling to understand why trying to run a npm install fails when one of the packages in the list is deprecated. A warning shouldn't make the command fail, shouldn't it?

I found the culprit PR. They created a version that hard breaks..
https://github.com/aspnet/SignalR/pull/2057
Got to love MS..

Related

Running my first truffle file, Cannot find module 'babel-register'

I am working on building the marketplace dapp from dapp university on Youtube. While running truffle compile it gives me the following error
Error: Cannot find module 'babel-register'
In this answer: Error: Cannot find module 'babel-register' someone suggested that I delete package-lock and do npm install again.
but when I searched up how to delete package-lock,I found this Deleting `package-lock.json` to Resolve Conflicts quickly which pretty much says that "don't ever delete package-lock.json."
I am a beginner, any help is appreciated.
Keep in mind that some of the dependencies in that source code are outdated.
I avoided this specific issue by running npm audit fix --force after npm install
I then ran npm install -g npm-check-updates to update all of the packages.
ncu -u will also upgrade those dependecies directly in the json.
Finally, npm update
truffle compile should now work as expected.
Good luck in your blockchain development! I'm just starting myself :)

Mongo-express | Patch file found for package mongodb-query-parser

I am trying to get rid of the following error message.
patch-package 6.2.2
Applying patches...
Error: Patch file found for package mongodb-query-parser which is not present at node_modules/mongodb-query-parser
This message appears when I try to install mongo-express. Locally this is no problem, because npm install keeps progressing after the error message.
But when I try to run it on gitlab-pipeline it exits the job.
Is there any workaround?
Temporary quick fix is to install mongo-express without the postinstall.
npm install mongo-express --ignore-scripts && npm install
That way the patch-package isn't called and at least the CI doesn't break. But I'm not sure how unsecure this is...
Hopefully going to be fix soon! I opened an issue
Cheers

npm rebuild, electron-rebuild doesn't use special parameters

I have an electron/React app running. So after I install all packages I have to execute electron-rebuild so there are no version issues.
I install one package in the preinstall script: npm install better-sqlite3 --build-from-source --sqlite3=my sqlite amalgamation folder
Now the problem is that electron-rebuild/npm rebuild just installs better-sqlite3 and not better-sqlite3 with my customized amalgamation.
This makes it unusable for me because I need my customized version of sqlite.
Does anyone know how to solve this, how to make electron-rebuild/npm rebuild install that package with the extra parameters?
I created a library to fix this issue/get around it: https://www.npmjs.com/package/better-sqlite3-sqleet.
So the problem is solved for me, but it would be nice to still have an answer on the original question.

npm install "No compatible version found" for everything

Upon executing the following command:
npm install #angular/animations#'^5.2.0' #angular/common#'^5.2.0' #angular/compiler#'^5.2.0' #angular/compiler-cli#'^5.2.0' #angular/core#'^5.2.0' #angular/forms#'^5.2.0' #angular/http#'^5.2.0' #angular/platform-browser#'^5.2.0' #angular/platform-browser-dynamic#'^5.2.0' #angular/platform-server#'^5.2.0' #angular/router#'^5.2.0' typescript#2.4.2 rxjs#'^5.5.2'
I get messages saying that no compatible version of found for rxjs. Then when I remove the specific version, it says no compatible version is found for angular/animations. Then angular/common. Etc etc.
I'm pretty sure these versions are valid, since they're the ones recommend by this Angular upgrade tool (https://angular-update-guide.firebaseapp.com/) and I can also see the "valid install target" list, which includes the versions I'm trying to install.
I know our project's dependencies are in some special repository somewhere (Artifactory, I think?) so maybe this is happening because these versions are not in the repo NPM is looking at.
Is there a way to fix this for testing purposes before committing to having to install the new versions in the repo? In other words, how do I point NPM at the NPM repo rather than the company's repo?
Well, the answer I was looking for was here:
How to specify registry while doing npm install with git remote url?
However that didn't actually work.
The problem was simply a syntax issue. After I removed all the quotes from my command so it looked like the following command, it worked
npm install #angular/animations#^5.2.0 #angular/common#^5.2.0 #angular/compiler#^5.2.0 #angular/compiler-cli#^5.2.0 #angular/core#^5.2.0 #angular/forms#^5.2.0 #angular/http#^5.2.0 #angular/platform-browser#^5.2.0 #angular/platform-browser-dynamic#^5.2.0 #angular/platform-server#^5.2.0 #angular/router#^5.2.0 typescript#2.4.2 rxjs#^5.5.2

Trying to install grunt-cli, but need help to upgrade to lodash#^3.0.0

I was working through the Thinkster Angular/Firebase tutorial and in the installation process I got to the part where I needed to install grunt-cli with this command in the terminal:
npm install -g bower grunt-cli
and got this error:
lodash#<3.0.0 is no longer maintained. Upgrade to lodash#^3.0.0.
How do I upgrade my lodash?
This is probably because of the dependency chain. I guess grunt is still stocking to the older version of lodash. I think you should be fine as long as grunt is supporting it.
You find more info on this at https://github.com/Azure/azure-mobile-apps-js-client/issues/20