我正在使用Ubuntu,并试图在命令行上设置可变效果预测器(VEP)。我正在学习安装教程,但在依赖关系方面遇到了一些错误。我对命令行也很陌生,所以如果有人也能分解这个解决方案,那么我将非常感激。谢谢!
VEP要求:download.html#requirements
我还有Perl v5.32.1。
我所做的:
我使用以下命令安装了依赖项(在requirements页面中列出):
- sudo -s cpanm DBI
- sudo -s cpanm Archive::Zip
- sudo -s cpanm DBD::mysql对于DBD:mysql,我收到了如下信息:
--> Working on DBD::mysql
Fetching http://www.cpan.org/authors/id/D/DV/DVEEDEN/DBD-mysql-4.050.tar.gz ... OK
Configuring DBD-mysql-4.050 ... N/A
! Configure failed for DBD-mysql-4.050. See /root/.cpanm/work/1626111140.5937/build.log for details.无论如何,我运行了perl INSTALL.pl (从教程页面)并得到了下面的消息。如果可能的话,我希望VEP在在线模式下运行。
`WARNING: DBD::mysql module not found. VEP can only run in offline (--offline) mode without DBD::mysql installed
http://www.ensembl.org/info/docs/tools/vep/script/vep_download.html#requirements
Hello! This installer is configured to install v104 of the Ensembl API for use by the VEP.
It will not affect any existing installations of the Ensembl API that you may have.
It will also download and install cache files from Ensembl's FTP server.
Checking for installed versions of the Ensembl API...done
Setting up directories
Destination directory ./Bio already exists.
Do you want to overwrite it (if updating VEP this is probably OK) (y/n)? y
- fetching BioPerl
- unpacking ./Bio/tmp/release-1-6-924.zip
ERROR: Unable to unpack file ./Bio/tmp/release-1-6-924.zip without Archive::Extract or tar/unzip/gzip`发布于 2021-07-13 14:18:04
您向我们展示了这个错误:
DBD-mysql-4.050配置失败。详见/root/..cpanm/work/1626111140.5937/build.log。
因此,在那里看会给你更多的线索,知道问题是什么。没有这些,我们只能猜测。
但我们可以做出有根据的猜测。mysql发行版附带了一个名为DBD::mysql::INSTALL的文件,它将告诉您安装此模块时会遇到的一些问题。
需要注意的是,DBD::mysql是MySQL客户端库的包装器。它们是用C编写的,因此您需要安装一个C编译器来构建DBD::mysql。您还需要客户端库和客户端库的开发版本(用于编译模块所需的C头文件)。在Ubuntu上,这些包被称为"libmysqlclient“和"libmysqlclient-dev”。如果您没有C编译器,那么您也需要安装"gcc“。
但这一切都变得有点复杂了。还有另一种更简单的方法。如果您正在使用Perl的系统版本(作为操作系统的一部分安装的版本,并且可能位于/usr/bin/perl中),那么我建议您使用包的预构建Ubuntu版本,您可以通过运行:
$ sudo apt-get install libdbd-mysql-perl安装该版本使用OS自己的包管理器,而包管理器知道需要哪些其他软件包才能工作--所以它也会安装这些包。
人们可能会抱怨你最好安装CPAN的模块,因为它提供了更多的灵活性,并允许您使用更多最新的软件包,而不是从您的操作系统repos版本。而且他们是对的。但是,老实说,如果您是一个非Perl程序员,只想让一个应用程序启动并运行,这是迄今为止最简单的方法。
(但是,正如我前面所说,这都是猜测,因为你还没有和我们分享过最重要的错误。)
https://stackoverflow.com/questions/68351950
复制相似问题