instance method
Gem::Installer#generate_bin_symlink
generate_bin_symlink(filename, bindir)
lib/rubygems/installer.rb
View on GitHub ↗
# File tmp/rubies/ruby-4.0.0/lib/rubygems/installer.rb, line 519
def generate_bin_symlink(filename, bindir)
src = File.join gem_dir, spec.bindir, filename
dst = File.join bindir, formatted_program_filename(filename)
if File.exist? dst
if File.symlink? dst
link = File.readlink(dst).split File::SEPARATOR
cur_version = Gem::Version.create(link[-3].sub(/^.*-/, ""))
return if spec.version < cur_version
end
File.unlink dst
end
FileUtils.symlink src, dst, verbose: Gem.configuration.really_verbose
rescue NotImplementedError, SystemCallError
alert_warning "Unable to use symlinks, installing wrapper"
generate_bin_script filename, bindir
end
Creates the symlinks to run the applications in the gem. Moves the symlink if the gem being installed has a newer version.
See also
#generate_bin_script
#generate_windows_script
#gem_dir
#install
also in
4.1 · 3.4 · 3.3 · 3.2 · 3.1 · 3.0