使用 devtools::install_github() 安装无法检测构建工具
Install with devtools::install_github() fails to detect build tools
这是我第一次尝试下载 Github 包,我 运行 在 MacOS Big Sur v11.2.1 上使用 RStudio v1.2.5033 遇到了一些麻烦。
最初,当运行
library(devtools)
devtools::install_github('xuyiqing/gsynth')
我遇到了这个错误:
Warning in install.packages :
installation of package ‘gsynth’ had non-zero exit status
看了一些书,看来我需要下载命令行工具,所以我下载了 XCode CLI、clang4 和 gfortran。现在我收到一条弹出消息:
"安装构建工具
从源代码构建 R 包需要安装额外的构建工具。
您现在要安装附加工具吗?
Y/N"
如果我点击“否”,我会得到这个错误:
Error: Failed to install 'gsynth' from GitHub:
Could not find tools necessary to compile a package
Call `pkgbuild::check_build_tools(debug = TRUE)` to diagnose the problem.
运行 R 控制台中的上述 pkgbuild 代码,这就是我得到的:
Trying to compile a simple C file
Error: Could not find tools necessary to compile a package
Call `pkgbuild::check_build_tools(debug = TRUE)` to diagnose the problem.
rror: Could not find tools necessary to compile a package
看起来安装此软件包需要克服一些问题(xcode 命令行工具和 OpenMP 支持作为开始),但如果您按照此处的说明进行操作,则应该克服这些问题: https://whosebug.com/a/65334247/12957340
进行必要的更改后,我使用 devtools::install_github('xuyiqing/gsynth')
在我的系统(macOS Big Sur 11.2.3 / R 版本 4.0.3)上成功安装了 gsynth,没有任何问题。
--
以下是万一 link 死亡的说明:
- 重新安装 xcode 命令行工具(即使它说的是“最新”)
sudo rm -rf /Library/Developer/CommandLineTools
sudo xcode-select --install
- 通过 Homebrew 安装 gcc 和 llvm (instructions for installing Homebrew) 或者,如果您已经通过 Homebrew 安装了 gcc/llvm,请跳到下一步
# This can take several hours
brew install gcc
brew install llvm
- 通过 Homebrew 安装 gcc 和 llvm 后:
brew cleanup
brew update
brew upgrade
brew reinstall gcc
brew reinstall llvm
- Link一些headers变成/usr/local/include
sudo ln -s /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/* /usr/local/include/
# You can safely ignore warnings like this:
#ln: /usr/local/include//tcl.h: File exists
#ln: /usr/local/include//tclDecls.h: File exists
#ln: /usr/local/include//tclPlatDecls.h: File exists
#ln: /usr/local/include//tclTomMath.h: File exists
#ln: /usr/local/include//tclTomMathDecls.h: File exists
#ln: /usr/local/include//tk.h: File exists
#ln: /usr/local/include//tkDecls.h: File exists
#ln: /usr/local/include//tkPlatDecls.h: File exists
- 创建一个新的
~/.R/Makevars
文件(如果您已经有一个 ~/.R/Makevars
文件,请将其保存在不同的目录中(远离 ~/.R/
))并仅将这些行包含在文件:
FLIBS=-L/usr/local/gfortran/lib/gcc/x86_64-apple-darwin19/10.2.0 -L/usr/local/gfortran/lib -lgfortran -lquadmath -lm
CXX1X=/usr/local/gfortran/bin/g++
CXX98=/usr/local/gfortran/bin/g++
CXX11=/usr/local/gfortran/bin/g++
CXX14=/usr/local/gfortran/bin/g++
CXX17=/usr/local/gfortran/bin/g++
LLVM_LOC = /usr/local/opt/llvm
CC=/usr/local/gfortran/bin/gcc -fopenmp
CXX=/usr/local/gfortran/bin/g++ -fopenmp
CFLAGS=-g -O3 -Wall -pedantic -std=gnu99 -mtune=native -pipe
CXXFLAGS=-g -O3 -Wall -pedantic -std=c++11 -mtune=native -pipe
LDFLAGS=-L/usr/local/opt/gettext/lib -L$(LLVM_LOC)/lib -Wl,-rpath,$(LLVM_LOC)/lib
CPPFLAGS=-I/usr/local/opt/gettext/include -I$(LLVM_LOC)/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include
- 从 R/Rstudio
中的源代码编译一个包
# To check whether openmp is enabled, compile data.table:
install.packages("data.table", type = "source")
- 如果您的包编译失败,一些 SO 用户不得不安装新的 gfortran(回复:https://whosebug.com/a/65334247/12957340),您可以从 https://[= 下载68=].com/fxcoudert/gfortran-for-macOS/releases/tag/10.2-bigsur-intel
这是我第一次尝试下载 Github 包,我 运行 在 MacOS Big Sur v11.2.1 上使用 RStudio v1.2.5033 遇到了一些麻烦。
最初,当运行
library(devtools)
devtools::install_github('xuyiqing/gsynth')
我遇到了这个错误:
Warning in install.packages :
installation of package ‘gsynth’ had non-zero exit status
看了一些书,看来我需要下载命令行工具,所以我下载了 XCode CLI、clang4 和 gfortran。现在我收到一条弹出消息:
"安装构建工具 从源代码构建 R 包需要安装额外的构建工具。 您现在要安装附加工具吗? Y/N"
如果我点击“否”,我会得到这个错误:
Error: Failed to install 'gsynth' from GitHub:
Could not find tools necessary to compile a package
Call `pkgbuild::check_build_tools(debug = TRUE)` to diagnose the problem.
运行 R 控制台中的上述 pkgbuild 代码,这就是我得到的:
Trying to compile a simple C file
Error: Could not find tools necessary to compile a package
Call `pkgbuild::check_build_tools(debug = TRUE)` to diagnose the problem.
rror: Could not find tools necessary to compile a package
看起来安装此软件包需要克服一些问题(xcode 命令行工具和 OpenMP 支持作为开始),但如果您按照此处的说明进行操作,则应该克服这些问题: https://whosebug.com/a/65334247/12957340
进行必要的更改后,我使用 devtools::install_github('xuyiqing/gsynth')
在我的系统(macOS Big Sur 11.2.3 / R 版本 4.0.3)上成功安装了 gsynth,没有任何问题。
--
以下是万一 link 死亡的说明:
- 重新安装 xcode 命令行工具(即使它说的是“最新”)
sudo rm -rf /Library/Developer/CommandLineTools
sudo xcode-select --install
- 通过 Homebrew 安装 gcc 和 llvm (instructions for installing Homebrew) 或者,如果您已经通过 Homebrew 安装了 gcc/llvm,请跳到下一步
# This can take several hours
brew install gcc
brew install llvm
- 通过 Homebrew 安装 gcc 和 llvm 后:
brew cleanup
brew update
brew upgrade
brew reinstall gcc
brew reinstall llvm
- Link一些headers变成/usr/local/include
sudo ln -s /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/* /usr/local/include/
# You can safely ignore warnings like this:
#ln: /usr/local/include//tcl.h: File exists
#ln: /usr/local/include//tclDecls.h: File exists
#ln: /usr/local/include//tclPlatDecls.h: File exists
#ln: /usr/local/include//tclTomMath.h: File exists
#ln: /usr/local/include//tclTomMathDecls.h: File exists
#ln: /usr/local/include//tk.h: File exists
#ln: /usr/local/include//tkDecls.h: File exists
#ln: /usr/local/include//tkPlatDecls.h: File exists
- 创建一个新的
~/.R/Makevars
文件(如果您已经有一个~/.R/Makevars
文件,请将其保存在不同的目录中(远离~/.R/
))并仅将这些行包含在文件:
FLIBS=-L/usr/local/gfortran/lib/gcc/x86_64-apple-darwin19/10.2.0 -L/usr/local/gfortran/lib -lgfortran -lquadmath -lm
CXX1X=/usr/local/gfortran/bin/g++
CXX98=/usr/local/gfortran/bin/g++
CXX11=/usr/local/gfortran/bin/g++
CXX14=/usr/local/gfortran/bin/g++
CXX17=/usr/local/gfortran/bin/g++
LLVM_LOC = /usr/local/opt/llvm
CC=/usr/local/gfortran/bin/gcc -fopenmp
CXX=/usr/local/gfortran/bin/g++ -fopenmp
CFLAGS=-g -O3 -Wall -pedantic -std=gnu99 -mtune=native -pipe
CXXFLAGS=-g -O3 -Wall -pedantic -std=c++11 -mtune=native -pipe
LDFLAGS=-L/usr/local/opt/gettext/lib -L$(LLVM_LOC)/lib -Wl,-rpath,$(LLVM_LOC)/lib
CPPFLAGS=-I/usr/local/opt/gettext/include -I$(LLVM_LOC)/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include
- 从 R/Rstudio 中的源代码编译一个包
# To check whether openmp is enabled, compile data.table:
install.packages("data.table", type = "source")
- 如果您的包编译失败,一些 SO 用户不得不安装新的 gfortran(回复:https://whosebug.com/a/65334247/12957340),您可以从 https://[= 下载68=].com/fxcoudert/gfortran-for-macOS/releases/tag/10.2-bigsur-intel