A preflight plugin for Chef::Knife which lets you see which nodes and roles use a particular cookbook before you upload it.
Copy preflight.rb script from lib/chef/knife to your ~/.chef/plugins/knife directory.
knife-prelight is available on rubygems.org - if you have that source in your gemrc, you can simply use:
gem install knife-preflight
Searches the expanded run_lists of all nodes along with the run_list of all roles for the specified cookbook
knife preflight apache2::default will return a list of all nodes containing this cookbook in their expanded run_list followed by all roles with the cookbook in their expanded run_list. It will warn if any nodes are in an environment which does not contain a version constraint for the cookbook being searched for.
This will currently only search for cookbooks. It won't work if you specify a role on the command line because I've tried to avoid duplication of functionality which knife makes obvious.