How to set PATH on Windows through R “shell” command

前端 未结 3 1603
粉色の甜心
粉色の甜心 2021-02-06 08:57

I wish to add git to my PATH in Windows 7, through the \"shell\" command in R.

shell(\'set PATH=%PATH%;\"C:\\\\Program%20Files%20(x86)\\\\Git\\\\bin\"\', intern          


        
相关标签:
3条回答
  • 2021-02-06 09:28

    If you want to permanantly update your path, then you pretty much had the answer:

    shell('setx PATH "C:\\Program Files (x86)\\Git\\bin"')
    

    R only notes a copy of the Windows environment variables when it starts up though, so strsplit(Sys.getenv("PATH"), ";") won't be different until you restart R.

    Also, this won't run as with admin permissions (unless you set R as an administrator?) so it will add the path to the user path variable not the system one.


    If you want R to see a different path in the current session, just use Sys.setenv.

    Sys.setenv(
      PATH = paste(
        Sys.getenv("PATH"), 
        "C:\\Program Files (x86)\\Git\\bin", 
        sep = ";"
      )
    )
    

    This won't make permanant changes to the path. Only R can see this change, and only until you close it.

    0 讨论(0)
  • 2021-02-06 09:33

    When you run shell, a new process is created. In Windows, this will run CMD.EXE and pass the arguments given. Then this process exits.

    When you modify the environment variable, you are modifying in a subprocess of R and not in the R process itself. When the subprocess dies, so does its environment.

    You should set the path appropriately before you start R instead.

    0 讨论(0)
  • 2021-02-06 09:41

    Regarding

    what is the issue?

    You're just changing the PATH environment variable in the new command interpreter process.


    You can use the setx command to change the PATH defaults, but that does not affect your current process.

    What to do depends a bit on what you're trying to achieve.

    0 讨论(0)
提交回复
热议问题