Tôi vừa gặp phải cùng một vấn đề ngày hôm nay và tìm kiếm thông qua mã nguồn để hiểu nguồn gốc. Lý do là cho đến khi R 3.1.3, httpdPort
là một biến, trong khi kể từ R 3.2.0, nó là một hàm.
Lỗi này xảy ra, bởi vì dòng
tools:::httpdPort <= 0L
là sai, nếu httpdPort
là một hàm. Nó khá nên
tools:::httpdPort() <= 0L
Dường như RStudio chạy dòng đó tại một số điểm và dĩ nhiên, nó cần phải biết, mà trong hai phiên bản để chạy. Đây là lý do tại sao RStudio cần được cập nhật sau khi R được cập nhật từ phiên bản < = 3.1.3 thành phiên bản> = 3.2.0.
httpdPort
được định nghĩa trong tệp src/library/tools/R/dynamicHelp.R
. Trong phiên bản R 3.1.3, định nghĩa đọc
httpdPort <- 0L
trong khi ở phiên bản R 3.2.0, nó là
httpdPort <- local({
port <- 0L
function(new) {
if(!missing(new))
port <<- new
else
port
}
})
Để giải pháp cho vấn đề là như vậy, hoặc là hạ cấp phiên bản R của bạn để < = 3.1.3 hoặc để nâng cấp RStudio.
tính năng rstudio version của bạn là gì? Bạn có thể cần phải nâng cấp nó. Xem ví dụ https://github.com/rstudio/shinyapps/issues/144 – scoa