如何配置VSCode的ruby-lsp扩展使用Docker容器内的Ruby环境
配置ruby-lsp使用Docker容器内的Ruby环境
核心问题定位
你遇到的找不到docker-compose.yml错误,是因为ruby-lsp执行自定义命令时的工作目录并非你当前打开的项目根目录,导致默认找不到配置文件。
解决方案步骤
修正自定义Ruby命令
在VSCode配置中使用内置的${workspaceFolder}变量指定docker-compose.yml的绝对路径,确保命令能准确定位到配置文件。完整配置如下:{ "rubyLsp.rubyVersionManager": { "identifier": "custom" }, "rubyLsp.customRubyCommand": "docker compose -f ${workspaceFolder}/docker-compose.yml exec -T cms /usr/local/bin/ruby" }验证命令有效性
在项目根目录的终端手动执行以下命令,确认能正常返回容器内的Ruby版本:docker compose exec -T cms /usr/local/bin/ruby -v若返回
3.3.x版本,说明容器内Ruby环境正常。确保前置条件满足
- 确保Docker容器处于运行状态:执行
docker compose up -d启动服务 - 容器内已完成依赖安装:进入容器执行
bundle install,确保ruby-lsp gem已通过Gemfile安装完成
- 确保Docker容器处于运行状态:执行
备选方案(若exec命令仍有问题)
如果exec方式持续报错,可以尝试使用run命令启动临时容器执行Ruby命令(注意:此方式会启动新容器,需确保服务无未满足的依赖):
{ "rubyLsp.customRubyCommand": "docker compose -f ${workspaceFolder}/docker-compose.yml run --rm -T cms /usr/local/bin/ruby" }
内容的提问来源于stack exchange,提问作者Dauncing
相关产品推荐
相关产品推荐

