奇怪的错误mkdir";命令的语法不正确";在64位windows 7上安装Rcpp和RInside时出错

奇怪的错误mkdir";命令的语法不正确";在64位windows 7上安装Rcpp和RInside时出错,r,mkdir,rcpp,rinside,install.packages,R,Mkdir,Rcpp,Rinside,Install.packages,我以前在Windows 7上成功安装了Rcpp。现在我换了一台新电脑,下面的命令神秘地失败了。我四处搜索,发现有些人的错误通常与目录名中的空格有关。所以我将R安装到一个没有空格的目录中。但同样的错误仍然存在。 我注意到错误从“mkdir-p../inst/lib/i386”行开始,并显示一条消息“命令的语法不正确”。这与类似unix系统中mkdir显示的消息不同。 我在Windows 7 PC上安装了VirtualBox和Windows 7 XP模式。猜测可能是mkdir命令被其他Windows

我以前在Windows 7上成功安装了Rcpp。现在我换了一台新电脑,下面的命令神秘地失败了。我四处搜索,发现有些人的错误通常与目录名中的空格有关。所以我将R安装到一个没有空格的目录中。但同样的错误仍然存在。 我注意到错误从“mkdir-p../inst/lib/i386”行开始,并显示一条消息“命令的语法不正确”。这与类似unix系统中mkdir显示的消息不同。 我在Windows 7 PC上安装了VirtualBox和Windows 7 XP模式。猜测可能是mkdir命令被其他Windows mkdir命令隐藏,因此出现了奇怪的错误。有人能帮我解决这个问题,这样我就可以在电脑上从源代码安装Rcpp了吗

> install.packages("Rcpp", type = "source")
Installing package into ‘D:/Documents/R/win-library/3.0’
(as ‘lib’ is unspecified)
trying URL 'http://stat.ethz.ch/CRAN/src/contrib/Rcpp_0.10.6.tar.gz'
Content type 'application/x-gzip' length 1985569 bytes (1.9 Mb)
opened URL
downloaded 1.9 Mb

* installing *source* package 'Rcpp' ...
** package 'Rcpp' successfully unpacked and MD5 sums checked
** libs

*** arch - i386
cygwin warning:
  MS-DOS style path detected: C:/R/R-30~1.1/etc/i386/Makeconf
  Preferred POSIX equivalent is: /cygdrive/c/R/R-30~1.1/etc/i386/Makeconf
  CYGWIN environment variable option "nodosfilewarning" turns off this warning.
  Consult the user's guide for more details about POSIX paths:
    http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
g++ -m32 -I"C:/R/R-30~1.1/include" -DNDEBUG -I../inst/include/    -I"d:/RCompile/CRANpkg/extralibs64/local/include"     -O2 -Wall  -mtune=core2 -c Date.cpp -o Date.o
g++ -m32 -I"C:/R/R-30~1.1/include" -DNDEBUG -I../inst/include/    -I"d:/RCompile/CRANpkg/extralibs64/local/include"     -O2 -Wall  -mtune=core2 -c Module.cpp -o Module.o
gcc -m32 -I"C:/R/R-30~1.1/include" -DNDEBUG -I../inst/include/    -I"d:/RCompile/CRANpkg/extralibs64/local/include"     -O3 -Wall  -std=gnu99 -mtune=core2 -c Rcpp_init.c -o Rcpp_init.o
g++ -m32 -I"C:/R/R-30~1.1/include" -DNDEBUG -I../inst/include/    -I"d:/RCompile/CRANpkg/extralibs64/local/include"     -O2 -Wall  -mtune=core2 -c Timer.cpp -o Timer.o
g++ -m32 -I"C:/R/R-30~1.1/include" -DNDEBUG -I../inst/include/    -I"d:/RCompile/CRANpkg/extralibs64/local/include"     -O2 -Wall  -mtune=core2 -c api.cpp -o api.o
g++ -m32 -I"C:/R/R-30~1.1/include" -DNDEBUG -I../inst/include/    -I"d:/RCompile/CRANpkg/extralibs64/local/include"     -O2 -Wall  -mtune=core2 -c attributes.cpp -o attributes.o
g++ -m32 -I"C:/R/R-30~1.1/include" -DNDEBUG -I../inst/include/    -I"d:/RCompile/CRANpkg/extralibs64/local/include"     -O2 -Wall  -mtune=core2 -c barrier.cpp -o barrier.o
g++ -m32 -I"C:/R/R-30~1.1/include" -DNDEBUG -I../inst/include/    -I"d:/RCompile/CRANpkg/extralibs64/local/include"     -O2 -Wall  -mtune=core2 -c exceptions.cpp -o exceptions.o
ar crs libRcpp.a Date.o Module.o Rcpp_init.o Timer.o api.o attributes.o barrier.o exceptions.o
mkdir -p ../inst/lib/i386
The syntax of the command is incorrect.
make: [userlib] Error 1 (ignored)
mv libRcpp.a ../inst/lib/i386/libRcpp.a 
mv: cannot move `libRcpp.a' to `../inst/lib/i386/libRcpp.a': No such file or directory
make: [userlib] Error 1 (ignored)
"zDate.o Module.o Rcpp_init.o Timer.o api.o attributes.o barrier.o exceptions.o" was unexpected at this time.
make: *** [Rcpp.dll] Error 1
ERROR: compilation failed for package 'Rcpp'
* removing 'D:/Documents/R/win-library/3.0/Rcpp'

The downloaded source packages are in
        ‘C:\Users\User Name\AppData\Local\Temp\RtmpcVfKZv\downloaded_packages’
Warning messages:
1: running command '"C:/R/R-3.0.1/bin/x64/R" CMD INSTALL -l "D:\Documents\R\win-library\3.0" C:\Users\USERNA~1\AppData\Local\Temp\RtmpcVfKZv/downloaded_packages/Rcpp_0.10.6.tar.gz' had status 1 
2: In install.packages("Rcpp", type = "source") :
  installation of package ‘Rcpp’ had non-zero exit status

我怀疑这几乎肯定是一个
$PATH
问题


确保Rtools二进制文件优先于其他文件。您似乎正在从其他地方点击
make
二进制。

哪个mkdir或
别名mkdir
告诉您什么?谢谢您的提示。这也是我试图找到的。其中,Windows上的mkdir正确指向“c:\Rtools\bin\mkdir.exe”,我用修复程序回复了下面的Dirk。感谢您的快速回复。结果表明,$PATH变量这次没有问题。Rtools二进制文件是路径中的第一项。在您指出“make”之后,我注意到一个可疑的系统范围环境变量“make_MODE”,可能是之前安装的cygwin或mingw将其设置为“win32”。我删除了那个变量,重新启动了R,现在Rcpp和RInside成功安装,没有问题。谢谢你的精彩套餐,德克!我想我应该改用Linux来避免Windows的混乱。很高兴能帮上忙,是的,这样的环境。var改变make的行为当然也是一种可能性。这就是追虫子的乐趣,总有一个新的地方:)