我需要开发工具因为我需要这个功能安装_github安装非 CRAN 软件包数字化 这里。我安装的R
是
sudo apt-get install r-cran-robustbase
我没有立即安装 R 的软件包,正如 terdon 的答案所建议的那样,但我可以更正权限:
sudo chmod 755 /usr/lib/R/site-library/
我认为这是默认设置。然后我必须按照 rcs 的答案建议,成功安装devtools
,tpoisot/digitize
但只能使用
sudo apt-get install libssl-dev
sudo apt-get install libcurl4-openssl-dev
R
install.packages('httr')
install.packages('git2r')
install.packages('devtools')
library(devtools)
install.packages('readbitmap')
install_github('tpoisot/digitize')
最后一个命令的输出可以是
Skipping install for github remote, the SHA1 (d16e28b9) has not changed since last install.
Use `force = TRUE` to force installation
这样做install_github('tpoisot/digitize', force = TRUE)
,但你可能会得到
...
'/usr/lib/R/bin/R' --no-site-file --no-environ --no-save --no-restore --quiet \
CMD INSTALL '/tmp/RtmpX8eOLX/devtools57475d25a113/tpoisot-digitize-d16e28b' \
--library='/usr/local/lib/R/site-library' --install-tests
Error: ERROR: no permission to install to directory ‘/usr/local/lib/R/site-library’
Error: Command failed (1)
我找不到没有sudo
.这样做sudo R
,然后重复同样的事情,你就会得到
...
'/usr/lib/R/bin/R' --no-site-file --no-environ --no-save --no-restore --quiet \
CMD INSTALL '/tmp/RtmpAlAT4e/devtools57e864e8c490/tpoisot-digitize-d16e28b' \
--library='/usr/local/lib/R/site-library' --install-tests
* installing *source* package ‘digitize’ ...
** R
** inst
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded
* DONE (digitize)
添加masi
到现有组即可在不使用in 的staff
情况下工作;在全新安装中您也需要它sudo
R
sudo usermod -a -G staff masi
安装测试
用鼠标选择轴上的四个点
cal = digitize::ReadAndCal('Rintro-snail1.jpg')
- 手动执行
data.points = digitize::DigitData(col = 'red')
并选择作为您的数据点的点
我通过第二次单击关闭“绘图”窗口。
做
df = digitize::Calibrate(data.points, cal, 0.1, 0.4, 0.0, 0.6)
和看df
x y 1 71.50 NA 2 65.65 NA ... 24 26.80 NA
正在做
head(df)
x y 1 71.50 NA 2 65.65 NA 3 64.60 NA 4 60.85 NA 5 59.05 NA 6 58.15 NA
安装细节
里面
R
和外面sudo
> .Library [1] "/usr/lib/R/library" > > .libPaths() [1] "/usr/local/lib/R/site-library" "/usr/lib/R/site-library" [3] "/usr/lib/R/library"
其中命令
ls /usr/lib/R/library/
没有列出devtools
。为什么?base compiler grid methods rpart survival boot datasets KernSmooth mgcv spatial tcltk class foreign lattice nlme splines tools cluster graphics MASS nnet stats translations codetools grDevices Matrix parallel stats4 utils
命令
ls -la /usr/local/lib/R/
total 12 drwxrwsr-x 3 root staff 4096 touko 19 22:25 . drwxr-xr-x 5 root root 4096 touko 19 22:25 .. drwxrwsr-x 2 root staff 4096 touko 19 22:25 site-library
命令
ls -la /usr/local/lib/
total 20 drwxr-xr-x 5 root root 4096 touko 19 22:25 . drwxr-xr-x 14 root root 4096 touko 19 22:13 .. drwxrwsr-x 4 root staff 4096 huhti 21 01:13 python2.7 drwxrwsr-x 3 root staff 4096 huhti 21 01:08 python3.5 drwxrwsr-x 3 root staff 4096 touko 19 22:25 R
命令
R_LIBS_USER="/usr/local/lib/R/site-library/" R
R version 3.2.3 (2015-12-10) -- "Wooden Christmas-Tree" Copyright (C) 2015 The R Foundation for Statistical Computing Platform: x86_64-pc-linux-gnu (64-bit) ...
library(devtools)
被加载
差速工具
- 这个项目比较受欢迎,效果也更好 https://github.com/markummitchell/engauge-digitizer
先前错误的原因
- 没有干净的系统:从 14.04、15.10 等升级的系统。
- 由于之前的事情而搞乱了权限/所有者。
- 自己在这个过程中犯下的错误。
- 发生故障时没有备份。
- ...
- 缺少文档
系统:全新安装的 Ubuntu 16.04 64 位
硬件:Dell PC 2013、Macbook Air 2013-mid、...
答案1
httr
导入openssl
系统需要的包libssl-dev
( sudo apt install libssl-dev
)
------------------------- ANTICONF ERROR ---------------------------
Configuration failed because openssl was not found. Try installing:
* deb: libssl-dev (Debian, Ubuntu, etc)
...
该curl
软件包需要作为系统要求libcurl4-openssl-dev
:
------------------------- ANTICONF ERROR ---------------------------
Configuration failed because libcurl was not found. Try installing:
* deb: libcurl4-openssl-dev (Debian, Ubuntu, etc)
...
因此,要安装,您需要运行:
sudo apt-get install libssl-dev
sudo apt-get install libcurl4-openssl-dev
然后使用 and 启动 R shell sudo R
:
install.packages('httr')
install.packages('git2r')
install.packages('devtools')
library(devtools)
install_github('tpoisot/digitize')
答案2
作为一般规则,您不只是更改系统目录的权限!这就是 root 访问的目的。将权限恢复到您找到它们的方式,并在下次sudo R
从install.packages
生成的根 R shell 中运行。
现在,您无法安装的原因就在您显示的输出中:
ERROR: dependencies ‘httr’, ‘git2r’ are not available for package ‘devtools’
显然,正如 rcs 所解释的,在Ubuntu上,您需要先安装libssl-dev
并libcurl4-openssl-dev
。
下一个问题是 root 用户的 R 安装/usr/local/lib/R/site-library
作为输出中的第一个目录,.libPaths
并且不在普通用户的路径中。由于它是 root 的第一个条目,因此这就是您的库的安装位置:
Installing package into ‘/usr/local/lib/R/site-library’
(as ‘lib’ is unspecified)
因此,一个简单的解决方案是创建一个名为的文件~/.Rprofile
并将此行添加到其中:
.libPaths("/usr/local/lib/R/site-library/")
另外,或者另外,你可以添加如下一行
.libPaths("/home/masi/Rlibs")
这将允许您将来将库安装到目录中/home/masi/Rlibs
(选择您想要的任何名称),从而避免需要sudo R
.
或者,您可以将环境变量设置R_LIBS_USER
为/usr/local/lib/R/site-library/
(或/home/masi/Rlibs
安装库的其他位置)。只需将此行添加到您的~/.profile
:
R_LIBS_USER=/usr/local/lib/R/site-library/