Many programming languages come with their own package managers to ease
installation of new software as well as libraries. You can install those
packages globally (system-wide) or locally (in a folder). Examples of those
packages managers: npm (CSS/JavaScript), Bower (Web), pip (Python), Ruby Gems
(Ruby), CPAN (Perl), Cargo (Rust), ...
Nearly all of those package managers accept non-free licenses. At least, most
of those package managers show the license of the program, but it doesn't
even warn you when installing a non-free package.
The two possible solutions to stay FSDG-compliant are:
1. Remove those package managers. It comes at a great convenience loss, and
will make installing some software much harder (as you usually install the
dependencies through the package manager).
2. Create a separate repository. In this case, I hope you have the manpower
to mirror all the free packages and remove only the non-free ones, else
you'll land in a situation similar to 1.