0 Câu hỏi: R Studio đã được cập nhật gần đây. Làm cách nào để cài đặt gói cài đặt cây ăn quả? [bản sao]

câu hỏi được tạo ra tại Wed, May 8, 2019 12:00 AM

Tôi đã cố cài đặt gói, sử dụng

install.packages("foobarbaz")

nhưng đã nhận được cảnh báo

Warning message:
package 'foobarbaz' is not available (for R version x.y.z)

Tại sao R không nghĩ rằng gói có sẵn?

Xem thêm những câu hỏi đề cập đến các trường hợp cụ thể của vấn đề này:

Gói của tôi không hoạt động cho R 2.15.2
gói 'Rbbg 'không khả dụng (đối với phiên bản R 2.15.2)
không khả dụng (đối với phiên bản R 2.15.2)
gói doMC KHÔNG có sẵn cho cảnh báo phiên bản R 3.0.0 trong install.packages
Phải làm gì khi một gói tuổi không có sẵn cho phiên bản R của chúng tôi?
Gói bigvis cho R không có sẵn cho phiên bản R 3.0.1?
gói 'syncwave' /'mvcwt' không khả dụng (đối với phiên bản R 3.0.2) gói 'kim cương' không khả dụng ( cho phiên bản R 3.0.0)
Gói plyr cho R không có sẵn cho phiên bản R 3.0.2?
https://stackoverflow.com/questions/21580661/installing-predictabel-package-on-r-2-15-2
Gói bigmemory không cài đặt trên R 64 3.0.2
gói "makeR" không khả dụng (cho phiên bản 3.0.2)
gói 'RTN' không khả dụng (đối với phiên bản R 3.0.1)
Sự cố khi cài đặt gói GeoR
gói 'twitterR' là không khả dụng (đối với phiên bản R 3.1.0)
Cách cài đặt 'Rcpp, gói? Tôi đã nhận "gói không khả dụng"
gói 'bộ dữ liệu' không khả dụng (đối với phiên bản R 3.1.1)
" gói 'rhipe' không khả dụng (đối với phiên bản R 3.1.2) "
466

  1. Lưu ý rằng khi sử dụng RStudio, bạn cũng nhận được cảnh báo này khi cài đặt từ một repo khác ngoài CRAN. Đó là một lỗi tôi đã báo cáo một vài lần, nhưng tôi không biết liệu nó đã được sắp xếp chưa.
    2014-09-08 11: 43: 33Z
14 Câu trả lời                              14                         

1. Bạn không thể đánh vần

Điều đầu tiên cần kiểm tra là bạn đã viết đúng tên của gói chưa? Tên gói có phân biệt chữ hoa chữ thường trong R.

2. Bạn đã không tìm đúng kho lưu trữ

Tiếp theo, bạn nên kiểm trađể xem nếu gói có sẵn. Loại

setRepositories()

Xem thêm ? setRepositories .

Để xem kho lưu trữ R sẽ tìm trong gói của bạn và tùy chọn chọn một số kho bổ sung. Ít nhất, bạn thường sẽ muốn CRAN được chọn và CRAN (extras) nếu bạn sử dụng Windows và kho lưu trữ Bioc* nếu bạn thực hiện bất kỳ [gen /prote /trans /transcript] nào. /p>

Để thay đổi vĩnh viễn điều này, hãy thêm một dòng như setRepositories(ind = c(1:6, 8)) vào tệp Rprofile.site .

3. Gói không nằm trong kho bạn đã chọn

Trả lại tất cả các gói có sẵn bằng

ap <- available.packages()

Xem thêm Tên các gói có sẵn của R , ? Available.packages .

Vì đây là một ma trận lớn, bạn có thể muốn sử dụng trình xem dữ liệu để kiểm tra nó. Ngoài ra, bạn có thể nhanh chóng kiểm tra xem gói có khả dụng hay không bằng cách kiểm tra tên hàng.

View(ap)
"foobarbaz" %in% rownames(ap)
Ngoài ra, có thể xem danh sách các gói có sẵn trong trình duyệt cho CRAN , CRAN (tính năng bổ sung) , Bioconductor , R-forge , RForge github .

Một thông báo cảnh báo có thể khác mà bạn có thể nhận được khi tương tác với gương CRAN là:

Warning: unable to access index for repository

Điều này có thể cho thấy kho CRAN đã chọn hiện không khả dụng. Bạn có thể chọn một máy nhân bản khác với chooseCRANmirror() và thử cài đặt lại.

Có một số lý do tại sao một gói có thể không có sẵn.

4. Bạn không muốn một gói

Có lẽ bạn không thực sự muốn một gói. Người ta thường nhầm lẫn về sự khác biệt giữa gói và thư viện , hoặc gói và bộ dữ liệu.

  

Gói là tập hợp tiêu chuẩn của vật liệu mở rộng R, ví dụ: cung cấp mã, dữ liệu hoặc tài liệu. Thư viện là một nơi (thư mục) nơi R biết để tìm các gói mà nó có thể sử dụng

Để xem các bộ dữ liệu có sẵn, nhập

data()

5. R hoặc Bioconductor đã hết hạn

Nó có thể có sự phụ thuộc vào phiên bản R mới hơn (hoặc một trong các gói mà nó nhập /phụ thuộc vào). Nhìn vào

ap["foobarbaz", "Depends"]

và xem xét cập nhật cài đặt R của bạn lên phiên bản hiện tại. Trên Windows, việc này được thực hiện dễ dàng nhất thông qua gói installr .

library(installr)
updateR()

(Tất nhiên, trước tiên bạn có thể cần đến install.packages("installr").)

Tương đương với các gói Bioconductor, bạn có thể cần cập nhật cài đặt Bioconductor của mình.

source("http://bioconductor.org/biocLite.R")
biocLite("BiocUpgrade")

6. Gói đã hết hạn

Nó có thể đã được lưu trữ (nếu nó không còn được duy trì và không còn vượt qua các bài kiểm tra R CMD check ).

Trong trường hợp này, bạn có thể tải phiên bản cũ của gói bằng cách sử dụng

7. Không có nhị phân Windows /OS X /Linux

Nó có thể không có nhị phân Windows do yêu cầu phần mềm bổ sung mà CRAN không có. Ngoài ra, một số gói chỉ có sẵn thông qua các nguồn cho một số hoặc tất cả các nền tảng. Trong trường hợp này, có thể có một phiên bản trong kho

library(remotes)
install_github("cran/foobarbaz")
(xem CRAN (extras) ở trên).

Nếu gói yêu cầu biên dịch mã (ví dụ: C, C ++, FORTRAN) thì trên Windows in Rtools hoặc trên OS X cài đặt công cụ phát triển đi kèm XCode và cài đặt phiên bản nguồn của gói thông qua:

setRepositories

Trên CRAN, bạn có thể biết liệu bạn có cần các công cụ đặc biệt để xây dựng gói từ nguồn hay không bằng cách xem cờ

install.packages("foobarbaz", type = "source")

# Or equivalently, for Bioconductor packages:
source("http://bioconductor.org/biocLite.R")
biocLite("foobarbaz", type = "source")
trong mô tả.

8. Gói này nằm trên github /Bitbucket /Gitorious

Nó có thể có một kho lưu trữ trên Github /Bitbucket /Gitorious. Các gói này yêu cầu gói NeedsCompilation để cài đặt.

remotes

(Như với

library(remotes)
install_github("packageauthor/foobarbaz")
install_bitbucket("packageauthor/foobarbaz")
install_gitorious("packageauthor/foobarbaz")
, trước tiên bạn có thể cần đến installr.)

9. Không có phiên bản nguồn của gói

Mặc dù phiên bản nhị phân của gói của bạn khả dụng, phiên bản nguồn thì không. Bạn có thể tắt kiểm tra này bằng cách đặt

install.packages("remotes")

như được mô tả trong câu trả lời SO này của imanuelc và phần Chi tiết của

options(install.packages.check.source = "no")
.

10. Gói nằm trong kho lưu trữ không chuẩn

Gói của bạn nằm trong kho lưu trữ không chuẩn (ví dụ: ?install.packages ). Giả sử rằng nó tuân thủ hợp lý các tiêu chuẩn CRAN, bạn vẫn có thể tải xuống bằng Rbbg; bạn chỉ cần xác định URL kho lưu trữ.

install.packages

install.packages("Rbbg", repos = "http://r.findata.org")
mặt khác không nằm trong kho lưu trữ giống CRAN và có hướng dẫn cài đặt .

    
480
2018-04-16 16: 20: 11Z
  1. @ KonradRudolph RHIPE cũng hoạt động trong R GUI, Architect, Revo-R và Live-R. Chưa thử trong emacs /ESS.
    2014-09-08 10: 42: 58Z
  2. Ah, xấu của tôi. Tôi nghĩ rằng tôi đã kiểm tra và thấy rằng hàm didn đã tồn tại. Tất nhiên là nó không hoạt động (nhưng nó không hoạt động đối với tôi trên OS X, ).
    2014-09-08 12: 35: 12Z
  3. Tôi nghĩ rằng đáng để đề cập rằng View chỉ hoạt động trên windows
    2014-09-08 20: 07: 23Z
  4. Triệu Người ta thường nhầm lẫn về sự khác biệt giữa một gói và thư viện - tốt, duh: Bản thân các nhà phát triển R đã nhầm lẫn về điều đó. Làm thế nào khác để giải thích chức năng installr? Tuy nhiên, trong đó, nên câu trả lời này đề cập /giải thích library? Đường dẫn thư viện không được đặt hoặc không thể ghi có vẻ là một trong những vấn đề phổ biến nhất khi cài đặt gói.
    2015-10-29 14: 40: 39Z
  5. Tôi đề nghị bao gồm một điểm khác: Cố gắng cài đặt các gói bên trong r-core, như trong câu hỏi này , trong đó cố gắng cài đặt gói .libPaths, khi nó đã ở trong r-core
    2015-12-29 12: 47: 06Z

Trong R mới nhất (3.2.3) có một lỗi, đôi khi ngăn nó tìm gói chính xác. Cách giải quyết là đặt kho lưu trữ theo cách thủ công:

parallel

Tìm thấy giải pháp trong câu hỏi khác

    
79
2017-05-23 12: 26: 36Z
  1. itemprop
    Nghi ngờ rằng đây là trường hợp. Nó dường như là một lỗi trong r-studio tuy nhiên. Tôi vừa thử nghiệm và tôi không cần thiết lập kho lưu trữ nếu tôi chỉ khởi chạy R từ thiết bị đầu cuối - chỉ từ trong r-studio.
    2016-04-04 09: 59: 58Z
  2. Điều này cũng giúp cho R 3.2.2, cảm ơn @Dmitry
    2016-04-13 09: 59: 16Z
  3. Đã được trợ giúp với phiên bản 3.4.0, cảm ơn!
    2017-07-24 06: 22: 02Z
  4. Cảm ơn. Cũng được hỗ trợ với phiên bản 3.5.0 ...
    2018-09-20 17: 59: 06Z
  5. Và 3.5.1 cũng vậy. Trước khi cài đặt
    install.packages("lubridate", dependencies=TRUE, repos='http://cran.rstudio.com/')
    
    dependencies, R không thể kết nối với repos (và do đó, khắc phục sự cố trong câu hỏi khác không hoạt động). Sau đó, tôi có thể truy cập trang web đó mặc dù các gói vẫn không tải theo cách đơn giản.
    2018-12-20 15: 01: 21Z

Dường như có vấn đề với một số phiên bản https://mirrors.sorengard.com/cran/src/contrib/PACKAGESR. Tôi đã gặp vấn đề tương tự trên libcurlMac (R version 3.2.2) và trong cả hai trường hợp, nó đã được giải quyết đơn giản bằng cách chạy lệnh này Ubuntu (R version 3.0.2)

Giải pháp được đề xuất bởi một người bạn, tuy nhiên, tôi chưa thể tìm thấy nó trong bất kỳ diễn đàn nào, do đó gửi câu trả lời này cho người khác.

    
23
2016-07-22 10: 52: 11Z
  1. cho thiết lập của tôi, có cài đặt install.packages trong Ubuntu và R 2.15.0 cũ,
    options(download.file.method = "wget")
    
    đã khắc phục sự cố
    2016-04-17 20: 41: 52Z
  2. Điều này hoạt động với tôi trên OS X với R 3.2.2.
    2016-06-20 19: 47: 32Z
  3. Tôi đã phải thực hiện curl chứ không phải install.packages(..., method="curl"), nhưng nó đã khắc phục sự cố
    2016-08-18 18: 55: 42Z
  4. method="curl" trong wget đã giúp tôi khắc phục điều này. Mac của tôi cũng không thích install_version. (Tôi đã có R 3.2.3 phàn nàn về việc không thể tìm thấy gói lưu trữ bằng cách sử dụng devtools. Các gói khác đã được cài đặt tốt)
    2016-08-26 04: 24: 45Z
  5. Điều này hiệu quả với tôi khi cài đặt R 3.2.2 trên Ubuntu Linux 64 bit
    2016-10-09 17: 22: 17Z

11. R (hoặc một phụ thuộc khác) đã hết hạn và bạn không muốn cập nhật nó.

Cảnh báo đây không phải là cách thực hành tốt nhất.

  • Tải xuống nguồn gói.
  • Điều hướng đến tệp wget.
  • Xóa dòng vi phạm bằng trình chỉnh sửa văn bản của bạn, ví dụ:

    http://
  • Cài đặt từ cục bộ (tức là từ thư mục mẹ của DESCRIPTION), ví dụ:

    Depends: R (>= 3.1.1)
    
11
2015-06-01 02: 36: 31Z
  1. Thông thường phụ thuộc vào phiên bản R là có lý do, có thể nên kiểm tra xem những thay đổi đó có khả năng phá vỡ.
    2016-04-17 18: 28: 46Z

    Giải pháp này có thể phá vỡ R nhưng đây là giải pháp dễ nhất hoạt động 99% thời gian.

    Bạn cần làm chỉ là:

    DESCRIPTION

    Như tác giả đã đề cập qua tại đây

        
    9
    2019-05-03 12: 31: 17Z
    1. Tại sao câu trả lời này bị hạ cấp?
      2018-09-14 17: 47: 15Z

    Một điều xảy ra với tôi là phiên bản R được cung cấp bởi bản phân phối linux của tôi (phiên bản R 3.0.2 do Ubuntu 14.04 cung cấp) quá cũ so với phiên bản mới nhất của gói có sẵn trên CRAN (trong trường hợp của tôi,

    install.packages("foo", type="source", repos=NULL)
    
    phiên bản 1.8.3 tính đến hôm nay). Giải pháp là sử dụng hệ thống đóng gói phân phối của tôi thay vì cố gắng cài đặt từ R (
    install.packages('package-name',repos='http://cran.us.r-project.org')
    
    đã cho tôi phiên bản 1.8.1 của plyr). Có lẽ tôi đã cố gắng cập nhật R bằng cách sử dụng apt-get install r-cran-plyr, nhưng tôi sợ rằng làm như vậy sẽ gây trở ngại cho người quản lý gói phân phối của tôi.     
    8
    2015-07-08 13: 20: 03Z
    1. Đối với các sự cố với Ubuntu, hãy kiểm tra README: cran.r-project.org/bin/linux/ubfox/README
      2017-06-20 15: 07: 50Z

    Điều này giúp tôi tiết kiệm rất nhiều thời gian để gỡ lỗi những gì sai. Trong nhiều trường hợp chỉ là gương lỗi thời. Chức năng này có thể cài đặt nhiều gói với các phụ thuộc của chúng bằng cách sử dụng plyr:

    updateR()     
    8
    2017 /03-06 20: 12: 17Z

    Tôi đã sửa lỗi này trên Ubuntu bằng cách cẩn thận làm theo các hướng dẫn để cài đặt R . Điều này bao gồm:

    1. thêm https://cran.rstudio.com/ vào tệp /etc/apt/source.list của tôi
    2. Chạy
      packages <- function(pkg){
          new.pkg <- pkg[!(pkg %in% installed.packages()[, "Package"])]
          if (length(new.pkg))
              install.packages(new.pkg, dependencies = TRUE, repos='https://cran.rstudio.com/')
          sapply(pkg, require, character.only = TRUE)
      }
      
      packages(c("foo", "bar", "baz"))
      
    3. Chạy deb http://cran.utstat.utoronto.ca/bin/linux/ubuntu trusty/

    Đối với bước 1, bạn có thể chọn bất kỳ máy nhân bản tải xuống CRAN nào thay cho trường Đại học Toronto của tôi nếu bạn muốn.

        
    4
    2016-08-29 07: 32: 50Z
    1. Cách này đã giải quyết vấn đề của tôi, nhưng vẫn cập nhật R của tôi lên phiên bản mới nhất (từ 060035099111100135035062 đến sudo apt-get update). Nếu bạn muốn cập nhật R, đây là một cách hay.
      2017-04-27 05: 51: 42Z

    Đây là điều cuối cùng tôi có thể làm để cài đặt gói tâm lý trong R-3.4.1 khi tôi nhận được cảnh báo tương tự

    1: Googled cho gói đó.

    2: đã tải xuống thủ công có phần mở rộng tar.gz

    3: Chọn tùy chọn "Tệp lưu trữ gói (.zip; .tar.gz)" để cài đặt các gói trong R

    4: duyệt cục bộ đến nơi được tải xuống và nhấp vào cài đặt

    Bạn có thể nhận được cảnh báo: phụ thuộc 'xyz' không có sẵn cho gói, sau đó trước tiên cài đặt chúng từ kho lưu trữ và sau đó thực hiện các bước 3-4 .

        
    4
    2017-08-06 11: 51: 08Z

    Tôi gặp vấn đề tương tự (trên Linux) có thể được giải quyết khi thay đổi cài đặt proxy. Nếu bạn đứng sau máy chủ proxy, hãy kiểm tra cấu hình bằng sudo apt-get install r-base-dev trong R. Trong 3.02 của tôi, tôi có các dòng sau (từ https://support.rstudio.com/hc/en-us/articles/200488488-Configuring-R-to-Use-an-HTTP-or-HTTPS-Proxy ) gây ra sự cố:

    3.4

    Thay đổi nó thành

    Sys.getenv("http_proxy")

    đã giải quyết vấn đề. Bạn có thể làm tương tự cho ~/.Renviron.

    Đó không phải là suy nghĩ đầu tiên khi tôi đọc "gói xxx không có sẵn cho phiên bản r-x-y-z" ...

    HTH

        
    3
    2017-04-14 11: 00: 56Z

    Tôi đã phạm sai lầm khi quên đặt

    http_proxy=https://proxy.dom.com:port
    http_proxy_user=user:passwd
    
    khi cài đặt gói R từ mã nguồn. Trong trường hợp này, thông báo lỗi hơi sai lệch:
    http_proxy="http://user:passwd@proxy.dom.com:port"
    

    Vấn đề không phải là phiên bản của R, đó là tham số https. Tôi đã làm repos=NULL làm việc cho tôi trong dịp này.

    Hy vọng điều này sẽ giúp được ai đó.

        
    2
    2018-08-12 17: 04: 10Z
    1. Khi tôi thử install.packages ('foobarbaz', repos = NULL) Tôi gặp lỗi "Lỗi trong install.packages (" cặp ", repos = NULL): gõ == "cả hai" không thể được sử dụng với 'repos = NULL' "
      2018-06-26 09: 34: 28Z
    2. Cảm ơn bạn đã bình luận - Tôi nghĩ rằng tôi đã quên viết tham số package 'foobarbaz' is not available (for R version x.y.z) kể từ khi tôi đề cập tôi đã cài đặt gói này từ mã nguồn, tôi sẽ chỉnh sửa câu trả lời.
      2018-07-28 14: 56: 46Z

    Nó hầu như luôn hoạt động với tôi khi tôi sử dụng chất dẫn sinh học làm nguồn và sau đó gọi biocLite. Ví dụ:

    repos     
    1
    2016-01-04 15: 18: 23Z
    1. Điều đó chỉ dành cho các gói chất dẫn sinh học và đây cũng là cách các gói chất dẫn sinh học phải được cài đặt.
      2017-06-20 15: 08: 39Z
    2. @ JorisMeys Dường như với tôi rằng tất cả các gói tôi đã cố gắng cài đặt cho đến nay đều có sẵn thông qua phương pháp này, nhưng tôi chủ yếu sử dụng R cho tin sinh học.
      2017-06-20 15: 20: 42Z
    3. @ JorisMeys Tôi không biết làm thế nào, nhưng install.packages('path/to/source/code/of/foobarbaz', type='source', repos=NULL) có thể tìm nạp các gói này một cách trong suốt và cài đặt chúng. Tôi mới thử nghiệm cho type="source" (trên Xubfox 16.04, nếu có vấn đề). Hy vọng tránh được tình trạng lộn xộn hết mức có thể, giờ đây tôi cố gắng cài đặt tất cả các gói "theo cùng một cách" (hiện đang sử dụng
      source("https://bioconductor.org/biocLite.R")
      biocLite("preprocessCore")
      
      ).
      2017-06-20 16: 45: 11Z
    4. @ bli bạn nói đúng, tôi đứng chính xác. Mã trong biocLite nhận ra các repos chính xác cho gói và sau đó gọi dplyr để thực hiện cài đặt thực tế. Nhưng nó không hoạt động vì bạn sử dụng biocLite. Nó hoạt động vì biocLite làm những gì nó phải làm. Không có sự khác biệt giữa việc sử dụng install.packages()biocLite ngoài chi phí và thực tế là install.packages() theo mặc định cũng cập nhật tất cả các gói khác mà nó thấy cần thiết. Vì vậy, tôi vẫn khuyên bạn nên sử dụng biocLite() cho các gói không dẫn sinh học.
      2017-06-21 08: 57: 18Z
    5. @ bli nó không đảm bảo tính tương thích, nó cập nhật mọi thứ lên phiên bản mới nhất (trừ khi bạn đặt install.packages()). Cái này tôigiống như gọi biocLite() và sau đó install.packages(). Bởi vì đó đúng là những gì suppressUpdates = TRUE thực hiện dưới mui xe.
      2017-06-21 09: 16: 27Z

    Một bổ sung nhỏ khác, trong khi thử kiểm tra phiên bản R cũ bằng cách sử dụng hình ảnh docker update.packages()

    1. Cài đặt install.packages() mặc định là biocLite và điều này không nhận được nhiều gói.
    2. Phiên bản R đó không có rocker/r-ver:3.1.0, ví dụ: repos dường như hoạt động.
    0
    2016-12-30 17: 49: 20Z

    Như đã đề cập tại đây (bằng tiếng Pháp), điều này có thể xảy ra khi bạn cài đặt hai phiên bản R trên máy tính của mình. Gỡ cài đặt cái cũ nhất, sau đó thử cài đặt lại gói của bạn! Nó hoạt động tốt với tôi.

        
    - 1
    2017/03/07 20: 10: 33Z
    MRAN
nguồn đặt đây