Dependencies in the gemspec

There are runtime dependencies, development dependencies, and unlabeled
dependencies (“add_dependency”).

What exactly are the differences among these dependencies? When do you
make a dependency a runtime dependency only? When do you make it a
development dependency only? And does “add_dependency” make it a
runtime
and development dependency?

Runtime dependencies are the gems required by your gem during its
runtime,
ie, the gems without which your gem can’t work. Development dependencies
are those which are required only while developing the gem (example:
rspec,
pry ) . When you do gem install or when bundler installs your
gem
for you, only the runtime dependencies will be installed and not the
development dependencies.

Also , add_dependency = add_runtime_dependency .