503

I usually get "x packages are looking for funding." when running npm install on a react project. Any idea what that means?

JSON Derulo
  • 9,780
  • 7
  • 39
  • 56
Adam Hassan
  • 5,260
  • 2
  • 9
  • 11
  • 10
    **Moderator Note:** This question is now [being discussed on Meta](https://meta.stackoverflow.com/questions/393439/is-this-question-really-on-topic). Please take all discussion about whether or not it is on-topic there, instead of leaving comments here. – Cody Gray - on strike Jan 29 '20 at 19:53

10 Answers10

745

When you run npm update in the command prompt, when it is done it will recommend you type a new command called npm fund.

When you run npm fund it will list all the modules and packages you have installed that were created by companies or organizations that need money for their IT projects. You will see a list of webpages where you can send them money. So "funds" means "Angular packages you installed that could use some money from you as an option to help support their businesses".

It's basically a list of the modules you have that need contributions or donations of money to their projects and which list websites where you can enter a credit card to help pay for them.

jonrsharpe
  • 115,751
  • 26
  • 228
  • 437
Stokely
  • 12,444
  • 2
  • 35
  • 23
  • 29
    Note that this a npm feature, it's not specific to Angular. You would get that same message with React or Vue or anything else. – alcfeoh Aug 14 '20 at 19:04
  • 81
    Up until now I thought `npm fund` did something regarding dependency resolution. So this answer gets an upvote. – Jordan Mann Sep 18 '20 at 21:42
  • 1
    Interesting. I really thought of it when read the message, but googled it just to be sure – Leonardo Maffei Jan 17 '22 at 08:14
  • 6
    Same here. I think most of the people who use node also thought that npm fund will fix some issues regarding package dependency. – Nikhil Saini Feb 13 '22 at 07:02
185

npm decided to add a new command: npm fund that will provide more visibility to npm users on what dependencies are actively looking for ways to fund their work.

npm install will also show a single message at the end in order to let user aware that dependencies are looking for funding, it looks like this:

$ npm install
packages are looking for funding.
run `npm fund` for details.

Running npm fund <package> will open the url listed for that given package right in your browser.

For more details look here

ArunPratap
  • 4,816
  • 7
  • 25
  • 43
  • 26
    npm is a package manager, and as such it should stick to the managing packages business, not to "make visibile people requesting funds". That should be another command, something like "show-who-need-funds" – Gianluca Ghettini May 22 '20 at 10:26
  • 36
    @GianlucaGhettini The problem was that existing packages were already printing messages asking for funding/donations during the install process. Having npm print a single message was determined to be far nicer than having say 20 different packages each print their own request for donations. Pretty much the only options were: adding this feature, letting packages continue to print their own message, or banning such messages without providing any alternative. They did not really want to annoy package developers by imposing the last option, so they want with the first. – Kevin Cathcart Jun 16 '20 at 11:22
  • 4
    @GianlucaGhettini I think requesting funds from a package is also part of managing the package, so npm is not doing so wrong with this feature. – Erisan Olasheni Mar 17 '21 at 22:55
  • 7
    @ErisanOlasheni I think managing a package means installing/unsinstalling/updating a package. End of story. Have you ever seen the "ls" Linux command asking to also do something else like creating, deleting, renaming a file? – Gianluca Ghettini Mar 18 '21 at 15:27
  • @Kevin Cathcart What's wrong with " letting packages continue to print their own message," I think keeping npm lighter-weight would be better, less is more secure and more reliable. – Zombies May 26 '23 at 16:18
146

First of all, try to support open source developers when you can, they invest quite a lot of their (free) time into these packages. But if you want to get rid of funding messages, you can configure NPM to turn these off. The command to do this is:

npm config set fund false --location=global

... or if you just want to turn it off for a particular project, run this in the project directory:

npm config set fund false 

For details why this was implemented, see @Stokely's and @ArunPratap's answers.

macabeus
  • 4,156
  • 5
  • 37
  • 66
Jeroen Landheer
  • 9,160
  • 2
  • 36
  • 43
  • Well explained, you start nice: please support them, but **hhmmm if I think right**, ok forget about it, go your way and here is the trick;) – Timo May 15 '21 at 17:54
  • 11
    @Timo At first glance it might seem like that, but there are other reasons to turn this off. E.g. my company supports a couple of package authors, so there's no need to bother all my dev team with those messages on their screen every time they run an update. (We put fund=false in our project's `.npmrc` file for this.) – Jeroen Landheer May 16 '21 at 19:05
  • 4
    There's also the principle of the matter. I dislike the abusive tone I see creeping into open source culture - the taint of entitlement and resentment. It's not how it used to be. It's evident in the bolding of text in the above answers... – odigity Jan 18 '23 at 13:39
  • 1
    @odigity I wish I could +twice... – BillRuhl Mar 17 '23 at 19:04
35

You can skip fund using:

npm install --no-fund YOUR PACKAGE NAME

For example:

npm install --no-fund core-js

If you need to install multiple packages:

npm install --no-fund package1 package2 package3
Sabrina
  • 2,531
  • 1
  • 32
  • 30
18

first, it's not an error or warning. it's basically a message to you to donate some money if you wish to the company/people or individual who built a package you have installed/used in your project, to see which package, simply type in your terminal

npm fund

and a list of the packages names and their website URLs underneath to donate. I hope this is helpful..

Yusuf
  • 2,295
  • 7
  • 15
  • 34
3

These are Open Source projects (or developers) which can use donations to fund to help support their business.

In npm the command npm fund will list the urls where you can fund

In composer the command composer fund will do the same.

While there are options mentioned above using which one can use to get rid of the funding message, but try to support the cause if you can.

Chandraarnav
  • 77
  • 1
  • 10
3
npm config set false --global 
npm config set fund false
Sven Eberth
  • 3,057
  • 12
  • 24
  • 29
Asim Khan
  • 309
  • 3
  • 2
  • 10
    Welcome to StackOverflow. While these commands may answer the question, providing additional context regarding *how* and/or *why* they solves the problem would improve the answer's long-term value. Furthermore there is already an accepted answer... – Sven Eberth Jul 09 '21 at 22:39
  • this answer has an error, first command should be `npm config set fund false --location=global` instead (missed "fund" and used obsolete syntax) - also, no need to use the 2nd one if you're using the first. – spamove Sep 02 '22 at 15:24
2
npm fund [<pkg>]

This command retrieves information on how to fund the dependencies of a given project. If no package name is provided, it will list all dependencies that are looking for funding in a tree-structure in which are listed the type of funding and the url to visit.
The message can be disabled using: npm install --no-fund

1
npm install --silent

Seems to suppress the funding issue.

Sven Eberth
  • 3,057
  • 12
  • 24
  • 29
Ken Wilson
  • 19
  • 1
-1

I would recommend against suppressing the funding message. It is informational only. At the very least they would give you some idea of one the potential risks that the 3rd party npm package is facing.

Haris Beg
  • 49
  • 3