【问题标题】:Cannot install any package in R无法在 R 中安装任何软件包
【发布时间】:2020-03-19 03:30:48
【问题描述】:

我使用的是 Windows,无法在 R 中安装任何软件包。我在 R 3.53 和 3.62 中进行了尝试。两者都给出错误。 最后我得到以下类型的错误:

Error in install.packages : cannot open file 'C:/Users/Arti Agarwal/Documents/R/win-library/3.5/file3a2065f64427/BH/include/boost/geometry/util/readme.txt': Permission denied

我也遇到了这种类型的错误:

  There is a binary version available but the source version is later:
     binary source needs_compilation
yaml  2.2.0  2.2.1              TRUE

我不知道如何进一步解决此问题。有什么建议吗?

【问题讨论】:

  • 您是否在公司环境中使用您的用户权限受限的计算机?
  • 过去几年(在 Windows 上)我在将 R 安装在包含空格的路径中时遇到过问题;虽然我也没有在库路径上测试它,但它是可行的。我认为这更有可能是企业网络策略(如@user100487 所说)或防病毒问题(Windows Defender fw/av 最近使用其反恶意软件引擎减慢了我的一些 R 进程)。
  • 您是否能够创建该目录路径和一个空文件而不会出错?如果是这样,请考虑将 support.microsoft.com/en-us/help/4028485/… 用于文件夹异常或程序异常。
  • 我认为这可能是一个杀毒软件,因为我不在公司网络或电脑上。我将检查如何避免和回复。感谢您的帮助。
  • 我在防病毒软件中添加了一个例外。仍然出现同样的错误。

标签: r package


【解决方案1】:

我想我修好了。为遇到同样问题的其他人发布答案。

1) 我通过以管理员身份运行 R 修复了文件权限错误。 2) 这些包不适用于 R 3.6.2 或 R 3.5.3,但奇怪的是它们适用于 R 3.6.1 它会警告该软件包是使用 R 3.6.2 构建的,但在安装时它无法使用。因此混乱。

感谢您的所有帮助。

【讨论】:

    【解决方案2】:

    为 windows 安装 conda

    # if you have 64 bit computer:
    https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe
    # if 32 bit computer:
    https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86.exe
    

    运行 exe。 为您的 R 创建一个新环境:

    # create new virtual environment for R with name 'newR'
    conda create --name newR
    # enter this created environment
    conda activate newR # or: source activate newR
    # install there now newest R
    conda install -c conda-forge r-base
    # you can also install rstudio
    conda install -c conda-forge rstudio
    # and also more difficult to install R packages
    # search for them by googling: 'conda install <packagename>'
    # mostly in anaconda site you see command for install.
    
    
    # next time you want to start R do:
    
    # enter environment
    conda activate newR # if that doesn't work: source activate newR
    # start R
    R
    
    

    只需 11 分钟即可了解基本的 conda 命令: https://www.youtube.com/watch?v=YJC6ldI3hWk

    如果您想成为一名认真的开发人员/程序员 - 迟早您必须学习 conda。

    【讨论】:

    • 这个建议感觉像是一个不必要的复杂化(以及关于在 conda env 中安装 r 包的困难问题的数量可能表明该建议不是更好的改变)。鉴于 OP 中的问题可能是权限问题,安装更多软件不太可能有帮助。
    • @user20650 用户无法将 R 安装到他的计算机中可能存在各种问题。 Conda 正是针对此类有问题的情况。他可以花更多的时间来试图解决他的问题。或者只需花几分钟安装 conda 并运行 conda install -c conda-forge r-base。 - 你用过康达吗?作为一名开发人员,他必须学会以最实际的方式解决他的问题。 - 迟早你必须使用 conda - 因为依赖地狱。
    • 我不明白为什么 install.packages 不应该是默认推荐的方法。我建议在添加更多软件之前解决这些问题。
    • 我不同意“作为 R 开发人员迟早必须使用 conda”的建议;但我同意你的观点,我们应该使用最适合我们的工具。
    • 确实如此,因为 R 每半年更新一次版本。在较新版本的包中(它们经常更改包中的函数名称!) - 您一年前的代码将不再工作。所以你必须在你的计算机上安装几个不同版本的 R 并保存每个版本的包。如果不让不同版本的 R 运行旧代码是不可能的。 Conda 在该过程中为您节省了大量时间。 - 对我来说 - 我不知道在没有 conda 的情况下我应该如何管理所有的包和版本。我为每个 R 版本创建一个新的 conda 环境。
    猜你喜欢
    • 1970-01-01
    • 2015-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多