почему я получаю ошибку при установке пакета в R? - PullRequest
0 голосов
/ 08 июля 2019

Я пытаюсь установить и запустить 'KoNLP' на моем локальном R-сервере. но почему-то я получаю ошибку, как показано ниже

 Error: package or namespace load failed for ‘KoNLP’:
    .onLoad failed in loadNamespace() for 'KoNLP', details:
    call: fun(libname, pkgname)
    error: You cann't parse resource files based on UTF-8 on rJava. 
    Please reload KoNLP first than any other packages connected with 
    rJava.

Я установил Java и назначил Java домой, используя

Sys.setenv(JAVA_HOME = 
 '/Library/Java/JavaVirtualMachines/jdk1.8.0_211.jdk/Contents/Home/jre')
dyn.load('/Library/Java/JavaVirtualMachines/jdk1.8.0_211.jdk/Contents/Home/jre/lib/server/libjvm.dylib')

Я не знаю, почему я продолжаю получать эту ошибку. Может кто-нибудь, пожалуйста, помогите мне? Спасибо!

1 Ответ

0 голосов
/ 08 июля 2019
if(dir.exists(paste(Sys.getenv("PROGRAMFILES"), "\\Java\\", sep = ""))){
  Javapath <- paste(Sys.getenv("PROGRAMFILES"), "\\Java\\", sep = "")
  Javapath <- paste(Javapath, list.files(path = Javapath, pattern = "jdk"), "\\",sep = "")
  if(grepl("jdk", Javapath)){
    options(java.home=Javapath[which.max(gsub(".*jdk[0-9]+\\.[0-9]+\\.[0-9]+_|\\\\$", "", Javapath))])
  }else{
    Javapath <- paste(Sys.getenv("PROGRAMFILES"), "\\Java\\", sep = "")
    Javapath <- paste(Javapath, list.files(path = Javapath, pattern = "jre"), "\\",sep = "")
    options(java.home=Javapath[which.max(gsub(".*jre[0-9]+\\.[0-9]+\\.[0-9]+_|\\\\$", "", Javapath))])
  }
}else if(dir.exists(paste(Sys.getenv("PROGRAMFILES(x86)"), "\\Java\\", sep = ""))){
  Javapath <- paste(Sys.getenv("PROGRAMFILES(x86)"), "\\Java\\", sep = "")
  Javapath <- paste(Javapath, list.files(path = Javapath, pattern = "jre"), "\\",sep = "")
  options(java.home=Javapath[which.max(gsub(".*jre[0-9]+\\.[0-9]+\\.[0-9]+_|\\\\$", "", Javapath))])
}

Может быть, вы можете попытаться установить параметры (java.home = "путь к Java")

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...