我正在 VScode 的 devcontainer 中开发 ruby 应用程序。在容器中我是非root用户。现在我想在 devcontainer 中安装 Ruby LSP 扩展,但出现以下错误:
Failed to setup the bundle: Command failed: gem install ruby-lsp ERROR: While executing gem ... (Gem::FilePermissionError) You don't have write permissions for the /usr/local/bundle/gems/sorbet-runtime-0.5.11514 directory.
/usr/local/lib/ruby/site_ruby/3.1.0/rubygems/installer.rb:356:in rescue in install'
/usr/local/lib/ruby/site_ruby/3.1.0/rubygems/installer.rb:305:in install'
/usr/local/lib/ruby/site_ruby/3.1.0/rubygems/resolver/specification.rb:105:in install'
/usr/local/lib/ruby/site_ruby/3.1.0/rubygems/request_set.rb:195:in block in install'
/usr/local/lib/ruby/site_ruby/3.1.0/rubygems/request_set.rb:183:in each' /usr/local/lib/ruby/site_ruby/3.1.0/rubygems/request_set.rb:183:in install'
/usr/local/lib/ruby/site_ruby/3.1.0/rubygems/commands/install_command.rb:207:in install_gem' /usr/local/lib/ruby/site_ruby/3.1.0/rubygems/commands/install_command.rb:223:in block in install_gems' /usr/local/lib/ruby/site_ruby/3.1.0/rubygems/commands/install_command.rb:216:in each' /usr/local/lib/ruby/site_ruby/3.1.0/rubygems/commands/install_command.rb:216:in install_gems' /usr/local/lib/ruby/site_ruby/3.1.0/rubygems/commands/install_command.rb:162:in execute' /usr/local/lib/ruby/site_ruby/3.1.0/rubygems/command.rb:326:in invoke_with_build_args' /usr/local/lib/ruby/site_ruby/3.1.0/rubygems/command_manager.rb:254:in invoke_command' /usr/local/lib/ruby/site_ruby/3.1.0/rubygems/command_manager.rb:193:in process_args' /usr/local/lib/ruby/site_ruby/3.1.0/rubygems/command_manager.rb:151:in run' /usr/local/lib/ruby/site_ruby/3.1.0/rubygems/gem_runner.rb:56:in run' /usr/local/bin/gem:12:in `<main>' . See Troubleshooting for help
即使我在本地预安装了 gems,然后安装了扩展...
# Gemfile
gem "ruby-lsp"
gem "rubocop"
...我遇到同样的错误。
有人可以告诉我我必须做什么才能让这个扩展工作吗?有设置吗
与 VS Code 一起使用的供应商指南是不要安装 gem:
https://shopify.github.io/ruby-lsp/#with-vs-code
如果使用 VS Code,您只需安装 Ruby LSP 扩展即可在编辑器中获取额外功能。不要手动安装 ruby-lsp gem。