有没有办法定义从 MacOS 中的特定文件夹执行 bin 的别名?
Is there a way to define an alias that executes a bin from a specific folder in MacOS?
我目前使用的是 Macbook Pro 运行 MacOS Mojave 10.14.3。我最近接触了 ruby 编程,但发现他们的整个 gem 包 management 有点令人困惑。当我 gem install
一个包时,它会将它安装在我的 /usr/local/lib/ruby/gems/2.6.0/bin
文件夹中,如果我想执行 gem 或获取 gem 版本,例如 solargraph
gem,我必须输入命令:/usr/local/lib/ruby/gems/2.6.0/bin/solargraph -v
。我想知道是否有办法为路径 /usr/local/lib/ruby/gems/2.6.0/bin
定义一个别名,这样我就可以键入类似 gemexec solargraph -v
的内容,从而获得与 /usr/local/lib/ruby/gems/2.6.0/bin/solargraph -v
相同的结果。谢谢你的帮助。顺便说一句,我正在使用 ZSH shell。
您可以使用 Ruby 'install' 二进制文件到位于 /usr/local/lib/ruby/gems/RUBY_VERSION/bin
.
的中央 bin 目录
使用gem environment
确定你的路径:
gem environment
RubyGems Environment:
- RUBYGEMS VERSION: 2.7.7
- RUBY VERSION: 2.5.3 (2018-10-18 patchlevel 105) [x86_64-darwin18]
- INSTALLATION DIRECTORY: /usr/local/lib/ruby/gems/2.5.0
- USER INSTALLATION DIRECTORY: /Users/alice/.gem/ruby/2.5.0
- RUBY EXECUTABLE: /usr/local/opt/ruby/bin/ruby
- EXECUTABLE DIRECTORY: /usr/local/lib/ruby/gems/2.5.0/bin
- SPEC CACHE DIRECTORY: /Users/alice/.gem/specs
- SYSTEM CONFIGURATION DIRECTORY: /usr/local/Cellar/ruby/2.5.3_1/etc
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-darwin-18
- GEM PATHS:
- /usr/local/lib/ruby/gems/2.5.0
- /Users/alice/.gem/ruby/2.5.0
- /usr/local/Cellar/ruby/2.5.3_1/lib/ruby/gems/2.5.0
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- https://rubygems.org/
- SHELL PATH:
- /usr/local/opt/ruby/bin
- /usr/local/bin
- /usr/bin
- /bin
- /usr/sbin
- /sbin
然后,您可以将 ruby bin
路径添加到您的全局 bin
路径中并获得您想要的 -
PATH="/usr/local/lib/ruby/gems/2.5.0/bin:$PATH"
solargraph -v
0.31.3
最后,要让 zsh
每次打开 shell 时都使用此 PATH,请将此行添加到您的 .zsh_rc 文件中 -
echo PATH="/usr/local/lib/ruby/gems/2.5.0/bin:$PATH" >> ~/.zshrc
您可以创建一个函数来为您执行此操作并将其放入您的 .zshrc 文件中。
function gemexec() {
/usr/local/lib/ruby/gems/2.6.0/bin/""
}
我目前使用的是 Macbook Pro 运行 MacOS Mojave 10.14.3。我最近接触了 ruby 编程,但发现他们的整个 gem 包 management 有点令人困惑。当我 gem install
一个包时,它会将它安装在我的 /usr/local/lib/ruby/gems/2.6.0/bin
文件夹中,如果我想执行 gem 或获取 gem 版本,例如 solargraph
gem,我必须输入命令:/usr/local/lib/ruby/gems/2.6.0/bin/solargraph -v
。我想知道是否有办法为路径 /usr/local/lib/ruby/gems/2.6.0/bin
定义一个别名,这样我就可以键入类似 gemexec solargraph -v
的内容,从而获得与 /usr/local/lib/ruby/gems/2.6.0/bin/solargraph -v
相同的结果。谢谢你的帮助。顺便说一句,我正在使用 ZSH shell。
您可以使用 Ruby 'install' 二进制文件到位于 /usr/local/lib/ruby/gems/RUBY_VERSION/bin
.
使用gem environment
确定你的路径:
gem environment
RubyGems Environment:
- RUBYGEMS VERSION: 2.7.7
- RUBY VERSION: 2.5.3 (2018-10-18 patchlevel 105) [x86_64-darwin18]
- INSTALLATION DIRECTORY: /usr/local/lib/ruby/gems/2.5.0
- USER INSTALLATION DIRECTORY: /Users/alice/.gem/ruby/2.5.0
- RUBY EXECUTABLE: /usr/local/opt/ruby/bin/ruby
- EXECUTABLE DIRECTORY: /usr/local/lib/ruby/gems/2.5.0/bin
- SPEC CACHE DIRECTORY: /Users/alice/.gem/specs
- SYSTEM CONFIGURATION DIRECTORY: /usr/local/Cellar/ruby/2.5.3_1/etc
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-darwin-18
- GEM PATHS:
- /usr/local/lib/ruby/gems/2.5.0
- /Users/alice/.gem/ruby/2.5.0
- /usr/local/Cellar/ruby/2.5.3_1/lib/ruby/gems/2.5.0
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- https://rubygems.org/
- SHELL PATH:
- /usr/local/opt/ruby/bin
- /usr/local/bin
- /usr/bin
- /bin
- /usr/sbin
- /sbin
然后,您可以将 ruby bin
路径添加到您的全局 bin
路径中并获得您想要的 -
PATH="/usr/local/lib/ruby/gems/2.5.0/bin:$PATH"
solargraph -v
0.31.3
最后,要让 zsh
每次打开 shell 时都使用此 PATH,请将此行添加到您的 .zsh_rc 文件中 -
echo PATH="/usr/local/lib/ruby/gems/2.5.0/bin:$PATH" >> ~/.zshrc
您可以创建一个函数来为您执行此操作并将其放入您的 .zshrc 文件中。
function gemexec() {
/usr/local/lib/ruby/gems/2.6.0/bin/""
}