如何在Windows上安装ripgrep?

soat7uwm  于 2023-08-07  发布在  Windows
关注(0)|答案(1)|浏览(136)

如何在Windows上安装ripgrep ( rg )

vktxenjb

vktxenjb1#

最近我不得不再次开始在Windows上开发,并且很难弄清楚这一点。
所以,这是我想到的:

  • 已在Windows 10专业版中测试。*

首先,安装Git for Windows
然后,打开它附带的Git Bash终端。除非另有说明,否则您应该在Git Bash中运行下面的所有命令。

简短快速的回答:

以管理员身份打开Git Bash,然后运行:

# install ripgrep
choco install ripgrep
# verify it is now installed
rg --version

字符串
其他非管理员选项及更多详细信息如下:

[功能更全面,* 不 * 需要管理员权限]选项1:如何在Windows上 * 手动 * 安装ripgrep(或任何可执行文件)

这个手动过程在Linux * 或 * Windows上几乎是一样的(除了Git for Windows只在Windows上需要),并且可以用于 * 任何 * 可执行文件或脚本。
转到ripgrep releases page here,并从最新版本中找到所需可执行文件的URL。对于64位Windows,请使用GNU编译版本(ripgrep-13.0.0-x86_64-pc-windows-gnu.zip),* 或 * MSVC编译版本(ripgrep-13.0.0-x86_64-pc-windows-msvc.zip)。我测试了两个,它们都运行良好。请注意,GNU编译的rg.exe文件较大,约为38.2 MB,而MSVC编译的rg.exe文件约为4.42 MB。我不知道为什么会有如此巨大的差异,但我猜这是因为MSVSC编译的版本更多地依赖于系统中现有的Windows动态库。
在下面的说明中,我使用了ripgrep-13.0.0-x86_64-pc-windows-msvc.zip。如果使用不同的文件,请相应地调整说明。

# download the latest 64-bit Windows release file of your choosing (GNU or
# MSVC)
curl -LO https://github.com/BurntSushi/ripgrep/releases/download/13.0.0/ripgrep-13.0.0-x86_64-pc-windows-msvc.zip
# unzip it
unzip ripgrep-13.0.0-x86_64-pc-windows-msvc.zip

# create a ~/bin dir to store it
mkdir -p ~/bin 

# copy rg.exe into ~/bin
cd ripgrep-13.0.0-x86_64-pc-windows-msvc
cp -i rg.exe ~/bin/


现在,创建并编辑您的~/.bashrc文件:

# Create `~/.bashrc` if it doesn't exist, or just update the access and
# modification time of the file if it does.
touch ~/.bashrc
# Open the file in your editor of choice. Examples:
notepad ~/.bashrc  # in Notepad
nano ~/.bashrc     # in Nano
subl ~/.bashrc     # in Sublime Text
code ~/.bashrc     # in Microsoft Visual Studio Code (MS VSCode)


将下面的代码添加到您刚才打开的~/.bashrc文件的底部(这是从Ubuntu的默认~/.profile文件中借用的,我已经将其放到了here上):

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi


最后,关闭并重新打开所有Git Bash终端,* 或者 * 在所有打开的终端中运行以下命令:

# re-source your ~/.bashrc file to update your PATH
. ~/.bashrc


现在测试rg(ripgrep)是否正常工作:

# check the version number
rg --version


我的运行和输出为:

$ rg --version
ripgrep 13.0.0 (rev af6b6c543b)
-SIMD -AVX (compiled)
+SIMD +AVX (runtime)

[更简单,但需要管理员权限]选项2:如何通过软件包管理器(如Windows中的choco)安装ripgrep(或其他程序)

快速总结:

按下Windows键-->输入“Git Bash”-->右键点击Git Bash快捷方式-->点击“以管理员身份运行”。在这个以管理员身份运行的Git Bash窗口中,运行以下命令:

# Install ripgrep in Windows.
# See: https://github.com/BurntSushi/ripgrep#installation. Apparently my
# computer already has `choco` installed on it. 
choco install ripgrep
# - then follow the on-screen instructions, typing `y` for "yes", 
#   or `a` for "yes to all", when needed

# verify that ripgrep is installed; I see:
#       
#       ripgrep 13.0.0 (rev af6b6c543b)
#       -SIMD -AVX (compiled)
#       +SIMD +AVX (runtime)
#       
rg --version


在此过程中,您可能还需要安装fzfbat,因为我的rgf2.sh脚本(请参见:herergf.sh顶部的安装说明)需要以下两项:

choco install fzf  # install fuzzy-finder
choco install bat  # install colored `cat` ("cat with wings")


完成后关闭Git Bash管理窗口,并返回到使用非管理Git Bash窗口。

详细信息

我非常习惯使用aptsnap在Linux Ubuntu中安装程序。
原来Windows中也有3个流行的包管理器:

  1. Chocolateychoco install ripgrep的一个或多个字符
    1.很受欢迎。
    1.它有一些付费版本,但也有一个免费的(如在自由)和开源的,免费的,为个人和公司/组织以及版本。请参阅:https://chocolatey.org/pricing
    1.在我的目录C:\ProgramData\chocolatey\LICENSE.txt中,我看到他们使用的开源许可证是Apache License, Version 2.0,我认为这是一个非常无限制(慷慨)的许可证。
  2. Scoopscoop install ripgrep
  3. Winget(另请参阅here):winget install BurntSushi.ripgrep.MSVC
    1.这是Microsoft支持的官方应用程序。
    在Git Bash中,检查是否已经安装了这些工具。我已经安装了chocowinget。我不知道为什么或者我是如何安装它们的,但也许它们是Windows附带的,或者是Git for Windows附带的。查看系统上是否安装了这些软件:
choco --version   # I see `1.3.0`
scoop --version   # I see: `bash: scoop: command not found`
winget --version  # I see: `v1.5.1572`


让我们使用Chocolatey来安装ripgrep,因为I've read可能是最受欢迎的,上面的程序也最多。
1.安装请参阅:https://chocolatey.org/install的数据。
仅当您尚未安装choco * 时,才在Power Shell * 中运行此命令:

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))


1.然后,使用它:
以管理员身份打开Git Bash,然后运行:

choco install ripgrep
rg --version  # check the version to see if it installed correctly


1.完成后关闭Git Bash管理窗口,并返回到使用非管理Git Bash窗口。

引用

1.我首先发现了3个主要的Windows软件包管理器,Chocolatey,Scoop和Winget在这里和这里。

  1. My own answer on how to use curl(我在上面的curl用法中的-L部分是必需的,因为GitHub对ripgrep版本的下载链接有一个HTML 302重定向)

相关问题