2017-01-24 18 views
5

Я пытаюсь установить Bioconductor в R, используя код на своем веб-сайте. Когда я ввожу код (см. Ниже), я получаю сообщение об ошибке, в котором говорится, что некоторые пакеты не могут быть обновлены, путь установки является неприемлемым.путь установки не доступен для записи R, не удалось обновить пакеты

> ## try http:// if https:// URLs are not supported 
> source("https://bioconductor.org/biocLite.R") 
Bioconductor version 3.4 (BiocInstaller 1.24.0), ?biocLite for help 
> biocLite() 
BioC_mirror: https://bioconductor.org 
Using Bioconductor 3.4 (BiocInstaller 1.24.0), R 3.3.2 (2016-10-31). 
installation path not writeable, unable to update packages: Matrix, mgcv, 

выживание

я могу установить этот пакет, перейдя в пакеты/установки пакетов.

> utils:::menuInstallPkgs() 
trying URL 'https://www.stats.bris.ac.uk/R/bin/windows/contrib/3.3/Matrix_1.2-8.zip' 
Content type 'application/zip' length 2775038 bytes (2.6 MB) 
downloaded 2.6 MB 

trying URL 'https://www.stats.bris.ac.uk/R/bin/windows/contrib/3.3/mgcv_1.8- 16.zip' 
Content type 'application/zip' length 2346257 bytes (2.2 MB) 
downloaded 2.2 MB 

trying URL  'https://www.stats.bris.ac.uk/R/bin/windows/contrib/3.3/survival_2.40-1.zip' 
Content type 'application/zip' length 5109948 bytes (4.9 MB) 
downloaded 4.9 MB 

package ‘Matrix’ successfully unpacked and MD5 sums checked 
package ‘mgcv’ successfully unpacked and MD5 sums checked 
package ‘survival’ successfully unpacked and MD5 sums checked 

The downloaded binary packages are in 
    C:\Users\stxeb8\AppData\Local\Temp\Rtmp2tQZ4v\downloaded_packages 

Затем я могу пойти в пакеты/пакеты загрузки и загрузить их успешно и искать и видеть, что пакеты там.

> local({pkg <- select.list(sort(.packages(all.available = TRUE)),graphics=TRUE) 
+ if(nchar(pkg)) library(pkg, character.only=TRUE)}) 
Loading required package: nlme 
This is mgcv 1.8-16. For overview type 'help("mgcv-package")'. 
> local({pkg <- select.list(sort(.packages(all.available = TRUE)),graphics=TRUE) 
+ if(nchar(pkg)) library(pkg, character.only=TRUE)}) 
> local({pkg <- select.list(sort(.packages(all.available = TRUE)),graphics=TRUE) 
+ if(nchar(pkg)) library(pkg, character.only=TRUE)}) 
> local({pkg <- select.list(sort(.packages(all.available =  TRUE)),graphics=TRUE) 
+ if(nchar(pkg)) library(pkg, character.only=TRUE)}) 
> search() 
[1] ".GlobalEnv"   "package:survival"  "package:mgcv"   
[4] "package:nlme"   "package:Matrix"  "package:BiocInstaller" 
[7] "package:stats"   "package:graphics"  "package:grDevices"  
[10] "package:utils"   "package:datasets"  "package:methods"  
[13] "Autoloads"    "package:base"   

Но тогда, когда я иду установить Bioconductor это дает мне то же сообщение об ошибке, что матрица, mgcv и выживание не в состоянии быть обновлены.

> ## try http:// if https:// URLs are not supported 
> source("https://bioconductor.org/biocLite.R") 
Bioconductor version 3.4 (BiocInstaller 1.24.0), ?biocLite for help 
> biocLite() 
BioC_mirror: https://bioconductor.org 
Using Bioconductor 3.4 (BiocInstaller 1.24.0), R 3.3.2 (2016-10-31). 
installation path not writeable, unable to update packages: Matrix, mgcv, 
    survival 

Что я могу сделать, чтобы иметь возможность обновлять эти пакеты, чтобы установить биокондуктор?

+0

Проверить '.libPaths()' и оформить заказ в нужном Вам порядке папки. – Gopala

+0

Спасибо, я проверю это и изменю заказ. –

ответ

0

Похоже, несколько «рекомендованных» пакетов установлены в двух местах - возможно, учетной записью администратора в каталоге, на который у вас нет доступа на запись, а затем RStudio в каталоге, где у вас есть доступ на запись. biocLite() жалуется на первое.

Если biocLite() жалуется на пакет Bioconductor, который не может быть установлен (отличается от того, который не может быть обновлен), нет проблем, и базовые пакеты Bioconductor были успешно установлены. Проверьте https://support.bioconductor.org на будущее. Поддержка, связанная с Bioconductor.

+0

Спасибо, что посмотрю ссылку, которую вы дали. –

4

Это был вопрос разрешения для меня. Во-первых, я определил, где были установлены пакеты с использованием installed.packages() %>% .[, c("Package", "LibPath")]. (Вам необходимо иметь magrittr пакет, загруженный для использования оператора трубы %>%.) Это выводит длинную матрицу с двумя столбцами с именами и местоположениями пакетов. Затем вы увидите, где находятся оскорбительные пакеты. В моем случае они были в /usr/lib/R/site-library и /usr/lib/R/library. Затем я изменил разрешение этих папок на chmod (я использовал chmod -R 777 в основной папке R, это мой персональный компьютер, поэтому безопасность здесь не вызывает большого беспокойства).

+0

Спасибо, я попробую –

+0

Вам не нужен труба (или 'magrittr') здесь:' installed.packages() [, c ("Package", "LibPath")] 'делает то же самое – Tyler