如何安装 R 包的特定标记提交
How to install a particular tagged commit of an R package
我有一个个人 R 包,其中包含我在各种项目中使用的辅助函数。但是,我想让一个项目使用该项目的特定版本,然后继续添加代码。我知道我可以用分支来做这件事,但我更愿意用提交标签来做。
查看 devtools::install_git
的文档,似乎如果我标记一个提交,那么我应该能够安装那个特定的提交,但这对我不起作用。
这张照片显示我有一个提交标记 "v0.0.1"
但是尝试安装它给我的结果是:
devtools::install_git(url = 'http://<username>@<company stash url>/scm/preamp.git', branch = 'v0.0.1')
# > Downloading git repo http://<username>@<company stash url>/scm/preamp.git
# > Error in .local(object, ...) : 'v0.0.1' did not match any branch
我的 R 会话信息:
> sessionInfo()
R version 3.2.3 (2015-12-10)
Platform: x86_64-apple-darwin13.4.0 (64-bit)
Running under: OS X 10.11.1 (El Capitan)
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] parallel splines stats graphics grDevices utils datasets methods base
other attached packages:
[1] tidyr_0.5.1 lazyeval_0.2.0 assertthat_0.1
[4] beepr_1.2 preamp_0.1 stringr_1.0.0
[7] readr_0.2.2 lubridate_1.5.6 xgboost_0.4-3
[10] magrittr_1.5 dplyr_0.5.0 jsonlite_1.0
[13] httr_1.2.1 rvdata_0.1.0 RODBC_1.3-12
[19] XML_3.98-1.4 reshape2_1.4.1 ggplot2_2.1.0
[22] DT_0.1 infotheo_1.2.0 RMySQL_0.10.9
[25] ROCR_1.0-7 gplots_2.17.0 gtools_3.5.0
[28] gbm_2.1.1 lattice_0.20-33 survival_2.38-3
[31] plyr_1.8.4 sqldf_0.4-10 RSQLite_1.0.0
[34] DBI_0.4-1 gsubfn_0.6-6 proto_0.3-10
[37] coreFunctions_0.1.0 devtools_1.10.0
loaded via a namespace (and not attached):
[1] tcltk_3.2.3 colorspace_1.2-6 htmltools_0.3.5 chron_2.3-47 withr_1.0.1
[6] audio_0.1-5 munsell_0.4.3 gtable_0.2.0 caTools_1.17.1 htmlwidgets_0.6
[11] memoise_1.0.0 curl_0.9.7 Rcpp_0.12.5 KernSmooth_2.23-15 scales_0.4.0
[16] gdata_2.17.0 digest_0.6.9 stringi_1.1.1 grid_3.2.3 tools_3.2.3
[21] bitops_1.0-6 tibble_1.1 Matrix_1.2-3 data.table_1.9.6 R6_2.1.2
[26] git2r_0.13.1
从该屏幕截图看来,您的包裹可能在 GitHub 上?您是否能够使用 install_github
安装某个版本的软件包?在该函数中,您指定 commit/tag/branch 和 ref
,如下所示:
> library(devtools)
> install_github("hadley/lubridate", ref = "v1.6.0")
Using GitHub PAT from envvar GITHUB_PAT
Downloading GitHub repo hadley/lubridate@v1.6.0
from URL https://api.github.com/repos/hadley/lubridate/zipball/v1.6.0
Installing lubridate
'/Library/Frameworks/R.framework/Resources/bin/R' --no-site-file --no-environ --no-save --no-restore --quiet CMD INSTALL \
'/private/var/folders/0w/prb4hnss2gn1p7y34qb2stw00000gp/T/RtmpZcDif6/devtools3b442dfebb82/hadley-lubridate-d986d4b' \
--library='/Library/Frameworks/R.framework/Versions/3.3/Resources/library' --install-tests
* installing *source* package ‘lubridate’ ...
** libs
clang -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I/usr/local/include -I/usr/local/include/freetype2 -I/opt/X11/include -fPIC -Wall -mtune=core2 -g -O2 -c datetime.c -o datetime.o
clang -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I/usr/local/include -I/usr/local/include/freetype2 -I/opt/X11/include -fPIC -Wall -mtune=core2 -g -O2 -c period.c -o period.o
clang -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I/usr/local/include -I/usr/local/include/freetype2 -I/opt/X11/include -fPIC -Wall -mtune=core2 -g -O2 -c tparse.c -o tparse.o
clang -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I/usr/local/include -I/usr/local/include/freetype2 -I/opt/X11/include -fPIC -Wall -mtune=core2 -g -O2 -c utils.c -o utils.o
clang -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/Library/Frameworks/R.framework/Resources/lib -L/usr/local/lib -o lubridate.so datetime.o period.o tparse.o utils.o -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation
installing to /Library/Frameworks/R.framework/Versions/3.3/Resources/library/lubridate/libs
** R
** data
*** moving datasets to lazyload DB
** inst
** tests
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded
* DONE (lubridate)
我有一个个人 R 包,其中包含我在各种项目中使用的辅助函数。但是,我想让一个项目使用该项目的特定版本,然后继续添加代码。我知道我可以用分支来做这件事,但我更愿意用提交标签来做。
查看 devtools::install_git
的文档,似乎如果我标记一个提交,那么我应该能够安装那个特定的提交,但这对我不起作用。
这张照片显示我有一个提交标记 "v0.0.1"
但是尝试安装它给我的结果是:
devtools::install_git(url = 'http://<username>@<company stash url>/scm/preamp.git', branch = 'v0.0.1')
# > Downloading git repo http://<username>@<company stash url>/scm/preamp.git
# > Error in .local(object, ...) : 'v0.0.1' did not match any branch
我的 R 会话信息:
> sessionInfo()
R version 3.2.3 (2015-12-10)
Platform: x86_64-apple-darwin13.4.0 (64-bit)
Running under: OS X 10.11.1 (El Capitan)
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] parallel splines stats graphics grDevices utils datasets methods base
other attached packages:
[1] tidyr_0.5.1 lazyeval_0.2.0 assertthat_0.1
[4] beepr_1.2 preamp_0.1 stringr_1.0.0
[7] readr_0.2.2 lubridate_1.5.6 xgboost_0.4-3
[10] magrittr_1.5 dplyr_0.5.0 jsonlite_1.0
[13] httr_1.2.1 rvdata_0.1.0 RODBC_1.3-12
[19] XML_3.98-1.4 reshape2_1.4.1 ggplot2_2.1.0
[22] DT_0.1 infotheo_1.2.0 RMySQL_0.10.9
[25] ROCR_1.0-7 gplots_2.17.0 gtools_3.5.0
[28] gbm_2.1.1 lattice_0.20-33 survival_2.38-3
[31] plyr_1.8.4 sqldf_0.4-10 RSQLite_1.0.0
[34] DBI_0.4-1 gsubfn_0.6-6 proto_0.3-10
[37] coreFunctions_0.1.0 devtools_1.10.0
loaded via a namespace (and not attached):
[1] tcltk_3.2.3 colorspace_1.2-6 htmltools_0.3.5 chron_2.3-47 withr_1.0.1
[6] audio_0.1-5 munsell_0.4.3 gtable_0.2.0 caTools_1.17.1 htmlwidgets_0.6
[11] memoise_1.0.0 curl_0.9.7 Rcpp_0.12.5 KernSmooth_2.23-15 scales_0.4.0
[16] gdata_2.17.0 digest_0.6.9 stringi_1.1.1 grid_3.2.3 tools_3.2.3
[21] bitops_1.0-6 tibble_1.1 Matrix_1.2-3 data.table_1.9.6 R6_2.1.2
[26] git2r_0.13.1
从该屏幕截图看来,您的包裹可能在 GitHub 上?您是否能够使用 install_github
安装某个版本的软件包?在该函数中,您指定 commit/tag/branch 和 ref
,如下所示:
> library(devtools)
> install_github("hadley/lubridate", ref = "v1.6.0")
Using GitHub PAT from envvar GITHUB_PAT
Downloading GitHub repo hadley/lubridate@v1.6.0
from URL https://api.github.com/repos/hadley/lubridate/zipball/v1.6.0
Installing lubridate
'/Library/Frameworks/R.framework/Resources/bin/R' --no-site-file --no-environ --no-save --no-restore --quiet CMD INSTALL \
'/private/var/folders/0w/prb4hnss2gn1p7y34qb2stw00000gp/T/RtmpZcDif6/devtools3b442dfebb82/hadley-lubridate-d986d4b' \
--library='/Library/Frameworks/R.framework/Versions/3.3/Resources/library' --install-tests
* installing *source* package ‘lubridate’ ...
** libs
clang -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I/usr/local/include -I/usr/local/include/freetype2 -I/opt/X11/include -fPIC -Wall -mtune=core2 -g -O2 -c datetime.c -o datetime.o
clang -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I/usr/local/include -I/usr/local/include/freetype2 -I/opt/X11/include -fPIC -Wall -mtune=core2 -g -O2 -c period.c -o period.o
clang -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I/usr/local/include -I/usr/local/include/freetype2 -I/opt/X11/include -fPIC -Wall -mtune=core2 -g -O2 -c tparse.c -o tparse.o
clang -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I/usr/local/include -I/usr/local/include/freetype2 -I/opt/X11/include -fPIC -Wall -mtune=core2 -g -O2 -c utils.c -o utils.o
clang -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/Library/Frameworks/R.framework/Resources/lib -L/usr/local/lib -o lubridate.so datetime.o period.o tparse.o utils.o -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation
installing to /Library/Frameworks/R.framework/Versions/3.3/Resources/library/lubridate/libs
** R
** data
*** moving datasets to lazyload DB
** inst
** tests
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded
* DONE (lubridate)