2020-12-30 06:12

Issue running code line-by-line in vscode: Cannot determine RHOME

Describe the bug Hi! I'm getting an error of Cannot determine R HOME when trying to execute code line-by-line in VSCode. This is a new problem which hadn't happened to me before, so I think an update might have broken some settings in some weird and wonderful way?

To Reproduce Steps to reproduce the behavior: 1. Open a random R script 2. command + enter on the first line (which happens to say library(tidyverse) but this is irrelevant)

Do you want to fix by self?

I wish I could

(If yes,) what kind of help do you want? (e.g. Which file should I fix, Survey (related documents)

(If related)setting.json


// R path for Mac OS X
"r.rterm.mac": "/Users/darya/anaconda3/bin/radian"

// R command line options (i.e: --vanilla)
"r.rterm.option": [],

// An optional encoding to pass to R when executing the file, i.e. 'source(FILE, encoding=ENCODING)'
"r.source.encoding": "UTF-8",

// Keeping focus when running
"r.source.focus": "editor",

// Use active terminal for all commands, rather than creating a new R terminal
"r.alwaysUseActiveTerminal": false,

// Use bracketed paste mode
"r.bracketedPaste": true,

// Enable R session watcher (experimental)
"r.sessionWatcher": true,

// Delay in milliseconds before sending each line to rterm (only applies if r.bracketedPaste is false)
"r.rtermSendDelay": 8,

Expected behavior I was hoping the code would run line by line...

Environment (please complete the following information): - OS: macOS 10.15.7 (19H2) - VSCode Version: Version: 1.50.1 - R Version: 4.0.2 - vscode-R version: v1.5.1

Additional context

Running /Users/darya/anaconda3/bin/radian (or radian) from the zsh command line results in R happily launching, and the library(tidyverse) code working without errors (as does running the script from RStudio)

What's wrong with my Config? Thanks in advance!

PS I have seen the issue here - but can't seem to fix the R RHOME issue by using the tips there.


  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答


  • weixin_39761422 weixin_39761422 4月前

    Looks like https://github.com/randy3k/radian/issues/219

    点赞 评论 复制链接分享
  • weixin_39632728 weixin_39632728 4月前

    -ken Thanks - yes, setting

    "r.alwaysUseActiveTerminal": false
    "r.bracketedPaste": false

    Fixes the problem.

    Why does this happen, though?

    点赞 评论 复制链接分享
  • weixin_39761422 weixin_39761422 4月前

    Looks like you haven't changed any settings?

    点赞 评论 复制链接分享
  • weixin_39632728 weixin_39632728 4月前

    Sorry I might have poorly grabbed the config. Biggest difference was that originally I had it set that I was NOT always using the active terminal and it didn't work.

    Instead, when I set it to always use the active terminal, launched R from the vscode terminal, and then tweaked the brackets setting so no extra characters were being added it seems to work.

    点赞 评论 复制链接分享
  • weixin_39761422 weixin_39761422 4月前

    With "r.alwaysUseActiveTerminal": false, when you press ctrl+enter on an R document, it will run r.createRTerm command to launch an R session automatically.

    In your settings, "r.rterm.mac": "/Users/darya/anaconda3/bin/radian" will make vscode-R launch radian instead of R. It seems that you could successfully run radian manually in VSCode terminal, but vscode-R cannot launch radian but fails with Cannot determine R HOME? You could simply verify this by pressing F1 and run R: Create R terminal command and it should produce the same error.

    点赞 评论 复制链接分享
  • weixin_39632728 weixin_39632728 4月前

    Yes, it does produce the same error. Any advice on how to fix it?

    点赞 评论 复制链接分享
  • weixin_39761422 weixin_39761422 4月前

    Looks like something is missing in the environment variables to launch radian by R: Create R terminal, something different from your zsh terminal in vscode. Not sure if this is a VSCode-specific problem?

    any idea on why this could happen?

    点赞 评论 复制链接分享
  • weixin_39982269 weixin_39982269 4月前

    Where did you install R? It may be possible that you have a different PATH variable in VSCode. I recall that there is an option in VSCode to inherit the environment variables from the shell. You may want to check that out.

    点赞 评论 复制链接分享
  • weixin_39761422 weixin_39761422 4月前

    Maybe you need to specify the following in your vscode settings?

    "terminal.integrated.env.osx": {
      "R_HOME": "..."
    点赞 评论 复制链接分享
  • weixin_39632728 weixin_39632728 4月前

    -ken Specifying that in the VSCode settings did indeed solve the problem!

    It does generate a warning of :

    Warning message:
    requested TAR '/usr/bin/tar' does not exist; using 'internal' instead 

    But then libraries load and code executes.

    I am curious, though, how to get it to properly


    since I've got a few custom functions in that, and VSCode is clearly not picking them up...

    点赞 评论 复制链接分享
  • weixin_39761422 weixin_39761422 4月前

    It looks like some important environment variables are missing when vscode-R launches radian via window.createTerminal(termOptions). I guess we should use what https://github.com/ManuelHentschel/VSCode-R-Debugger/blob/master/src/installRPackage.ts#L26 does: sending R terminal command to the shell in vscode terminal so that the environment variables from the shell (e.g. zsh) could be inherited.

    点赞 评论 复制链接分享
  • weixin_39761422 weixin_39761422 4月前

    You might try installing the vsix from https://github.com/renkun-ken/vscode-R/actions/runs/334838489 and see if it works now.

    点赞 评论 复制链接分享