强制 devtools::install_github 仅安装 32 位版本的软件包?

问题描述 投票:0回答:2

目标:我想在 Windows 10 Enterprise 上安装 R 3.6.0 32 位的

dssrip
软件包。

我安装了 32 位和 64 位版本的 R 3.6.0。在 RStudio (1.2.1522) 中,我将默认版本设置为 32 位,然后创建启用

packrat
的新项目。我在项目文件夹内的
.Rprofile
文件中包含了以下几行。

#### -- Packrat Autoloader (version 0.5.0) -- ####
source("packrat/init.R")
#### -- End Packrat Autoloader -- ####

dir.create("packages", recursive = TRUE, showWarnings = FALSE)
.libPaths("./packages")
message("Using library: ", .libPaths()[1])

options(dss_jre_location="C:\\Program Files (x86)\\HEC\\HEC-DSSVue\\java")
Sys.setenv(JAVA_HOME="C:\\Program Files (x86)\\HEC\\HEC-DSSVue\\java")

安装

install.packages(c("devtools", "rJava", "plyr", "reshape2", "stringr", "tidyverse"),
                 dependencies = TRUE)
library(rJava)
devtools::install_github("eheisman/DSS-Rip",
                         args = "--no-multiarch")

错误

Installing package into ‘C:/Users/user007/Documents/ttn/R/Projects/dssrip/packages’
(as ‘lib’ is unspecified)
* installing *source* package 'dssrip' ...
** using staged installation
** R
** demo
** byte-compile and prepare package for lazy loading
Note: possible error in 'month(d, label = TRUE, ': unused arguments (label = TRUE, abbr = TRUE) 
** help
*** installing help indices
  converting help for package 'dssrip'
    finding HTML links ... done
    AF_PER_CFS_DAY                          html  
    dss_path_functions                      html  
    fixTimestamps                           html  
    getColumnsByName                        html  
    getDT                                   html  
    getFullDT                               html  
    getFullTSC                              html  
    getLooseTSC                             html  
    getMetadata                             html  
    getTSC                                  html  
    hydro_axis_trans                        html  
    hydrologic_date_functions               html  
    initialize.dssrip                       html  
    model_error_measurement                 html  
    nash.sutcliffe                          html  
    opendss                                 html  
    rmse                                    html  
    tsc.to.dt                               html  
    tsc.to.xts                              html  
    weibullProbs                            html  
    xts.to.tsc                              html  
** building package indices
** testing if installed package can be loaded from temporary location
*** arch - i386
*** arch - x64
Error: package or namespace load failed for 'rJava':
 .onLoad failed in loadNamespace() for 'rJava', details:
  call: inDL(x, as.logical(local), as.logical(now), ...)
  error: unable to load shared object 
  'C:/Users/user007/Documents/ttn/R/Projects/dssrip/packages/rJava/libs/x64/rJava.dll':
  LoadLibrary failure:  %1 is not a valid Win32 application.

Error : package 'rJava' could not be loaded
Error: loading failed
Execution halted
ERROR: loading failed for 'x64'
* removing 'C:/Users/user007/Documents/ttn/R/Projects/dssrip/packages/dssrip'
Error in i.p(...) : 
  (converted from warning) installation of package 
  ‘C:/Users/user007/AppData/Local/Temp/Rtmp8UP9Mb/file2d9c5e446300/dssrip_0.1.tar.gz’ had non-zero exit status

Java版本:

C:\Program Files (x86)\HEC\HEC-DSSVue\java\bin>java -version
java version "1.6.0_18"
Java(TM) SE Runtime Environment (build 1.6.0_18-b07)
Java HotSpot(TM) Client VM (build 16.0-b13, mixed mode)

C:\Program Files (x86)\HEC\HEC-DSSVue\java\bin>java -d64
Unrecognized option: -d64
Could not create the Java virtual machine.

我尝试使用原生 R (

C:\Program Files\R\R-3.6.0\bin\i386\Rgui.exe
),但也没有帮助。

提前感谢您的指点!

r package 32bit-64bit devtools
2个回答
1
投票

更新 2

dssrip
已更新为可与 64 位 配合使用。您将需要 64 位兼容版本的 HEC-DSSVue(例如 v3.2.3)。

更新:我必须卸载并删除所有内容并从头开始才能使

dssrip
工作。

将以下行放入

.Rprofile
文件中:

options(dss_jre_location="C:\\Program Files (x86)\\HEC\\HEC-DSSVue\\java")
Sys.setenv(JAVA_HOME="C:\\Program Files (x86)\\HEC\\HEC-DSSVue\\java")

安装所有依赖项:

install.packages(c("remotes", "rJava", "data.table", "plyr", "reshape2", "stringr", "tidyverse"),
                 dependencies = TRUE)

请注意,要强制 R 仅安装 32 位版本,我必须使用 此语法 来代替:

remotes::install_github("eheisman/dssrip",
                         INSTALL_opts = "--no-multiarch")

0
投票

您是否尝试过使用 RStudio -> 工具 -> 常规,然后单击顶部的“更改”按钮,允许您更改 R 版本。将打开一个下拉菜单,您可以在其中选择 32 位版本并激活它。不过,您必须重新启动 RStudio 才能实现这一点。

© www.soinside.com 2019 - 2024. All rights reserved.