windows - R pakkebygning fejler på zip, men Rtools er installeret

Indlæg af Hanne Mølgaard Plasc

Problem



Dette spørgsmål er meget relateret til dette spørgsmål, men for nogle små forskelle.


Jeg forsøger at opbygge en pakke til en binær .zip-fil på Windows.


> devtools::build(binary = TRUE, args = c('--library="H:pathtolibrary"', '--preclean'))
"w:/R/R/R-33~1SQ.3/bin/x64/R" --no-site-file --no-environ --no-save --no-restore --quiet CMD INSTALL "R:path" --build --library="H:pathtolibrary" --preclean 

* installing *source* package 'packagename' ...
** R
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded
*** arch - i386
*** arch - x64
* MD5 sums
Warning: running command '"zip" -r9Xq "R:/path" packagename' had status 127
running 'zip' failed
* DONE (independeR)
[1] "R:/path"


I andre spørgsmål fandt jeg, at status 127 svarer til kommandoen 'zip' ikke eksisterende. Jeg har dog installeret Rtools. Fordi jeg ikke har administratorrettigheder på pc'en, og mine brugerindstillinger bliver nulstillet ved opstart, er mappen Rtools/bin/ ikke i min PATH ved opstart, men selv når jeg tilføjer den igen, bekræfter den faktisk der i CMD, R giver stadig denne status 127.


C:Usersjdubbeldam>path
PATH=C:/otherstuff;H:/Documents/Rtools/bin


Og kører zip på CMD klager heller ikke.


C:Usersjdubbeldam>zip
Copyright (c) 1990-2008 Info-ZIP - Type 'zip "-L"' for software license.
Zip 3.0 (July 5th 2008). Usage:
zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]
  The default action is to add or replace zipfile entries from list, which
  can include the special name - to compress standard input.
  If zipfile and list are omitted, zip compresses stdin to stdout.
  -f   freshen: only changed files  -u   update: only changed or new files
  -d   delete entries in zipfile    -m   move into zipfile (delete OS files)
  -r   recurse into directories     -j   junk (don't record) directory names
  -0   store only                   -l   convert LF to CR LF (-ll CR LF to LF)
  -1   compress faster              -9   compress better
  -q   quiet operation              -v   verbose operation/print version info
  -c   add one-line comments        -z   add zipfile comment
  -@   read names from stdin        -o   make zipfile as old as latest entry
  -x   exclude the following names  -i   include only the following names
  -F   fix zipfile (-FF try harder) -D   do not add directory entries
  -A   adjust self-extracting exe   -J   junk zipfile prefix (unzipsfx)
  -T   test zipfile integrity       -X   eXclude eXtra file attributes
  -!   use privileges (if granted) to obtain all aspects of WinNT security
  -$   include volume label         -S   include system and hidden files
  -e   encrypt                      -n   don't compress these suffixes
  -h2  show more help


Ingen af ​​de løsninger, der gives i det linkede spørgsmål, hjælper i dette tilfælde.


Bruger R en anden PATH-variabel internt med CMD-kommandoer, der kører fra R-kode?


Er der nogen måde at manuelt zip udgangen af ​​devtools::build(binary = T)?

Bedste reference