Ruby调试依赖
调试Ruby我们需要在本地安装两个Ruby库:debase和 ruby-debug-ide。
sudo gem install ruby-debug-ide
bel@beldeMBP ~ % sudo gem install ruby-debug-ide
Password:
Building native extensions. This could take a while...
Successfully installed ruby-debug-ide-0.7.2
Parsing documentation for ruby-debug-ide-0.7.2
Done installing documentation for ruby-debug-ide after 0 seconds
1 gem installed
sudo gem install debase
安装的Gem库,会安装在当前ruby环境下。
Ruby调试工具
安装solargraph
接下来我们使用VSCode进行Ruby调试,Ruby默认是没有代码提示的,如果想让VSCode能够进行代码提示,需要安装代码提示库 solargraph
,solargraph是一种语言服务器,为Ruby提供智能感知,提供代码提示和内联文档。
然后,在本机安装
solargraph
gem install solargraph
这样我们在编写代码的时候,就会有代码提示和函数使用说明
安装Ruby插件
在VSCode中,安装Ruby插件,是用来使用VSCode和本机的Ruby来进行交互的
创建 launch.json
在.vscode目录下,创建launch.json文件,为ruby工程的启动配置。
{
"configurations": [
{
"name": "Debug Ruby Code",
// 输出调试信息
"showDebuggerOutput": true,
// 告诉VS Code要运行什么调试器。
"type": "Ruby",
// "launch"允许直接从VS Code启动提供的程序-或"attach"-允许您附加到远程调试会话。
"request": "launch",
// rdebug-ide在内运行bundler exec 将Gemfile里面引用的库加到工程中
"useBundler": true,
// 始终在入口处停止
"stopOnEntry": false,
// "program"的工作目录
"cwd": "${workspaceRoot}",
// 指定调试脚本,调试当前打开的文件"program": "${file}" 就是哪个程序
"program": "${file}",
// 提供program命令参数
"args": [],
}
]
}
RubyGems
运行Ruby文件可以使用Gemfile文件来添加所依赖的Gem库描述,我们在根目录下创建一个Gemfile,并添加文件信息
source 'https://rubygems.org' // 1
gem 'ruby-debug-ide' // 2
gem 'debase'
- 1,指定
gem库的源。 - 2,安装所需的
gem库。
当按下F5运行后,Bundler能够根据Gemfile跟踪并安装的特定版本的gem,以此来为Ruby项目提供一致的运行环境。
运行
创建好Gemfile后,我们新建一个.rb文件,并输出当前Ruby版本。
常见问题
1, Fetching debase 0.2.4.1 Installing debase 0.2.4.1 with native extensions Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
解决方法:sudo gem install debase -v '0.2.5.beta2' GitHub Issue
2,You don't have write permissions for the /usr/bin directory
解决方法:sudo gem install rubyName -v version-number -n /usr/local/bin