gpt4 book ai didi

perl - Padre 提示 SQLite 数据库问题

转载 作者:行者123 更新时间:2023-12-03 16:58:29 26 4
gpt4 key购买 nike

我从 perl 开始,想安装 IDE Padre在 Ubuntu 14.04 上。
The answers in this question表明我可以简单地使用 apt-get :

sudo apt-get install padre

我也尝试安装它:
sudo cpan Padre

如所示 here .

但是,当我运行 padre 时,它给了我以下错误:
DBD::SQLite::db selectall_arrayref failed: attempt to write a readonly database at (eval 1905) line 41.
Perl exited with active threads:
1 running and unjoined
0 finished and unjoined
0 running and detached

当我以 root ( sudo padre ) 运行它时:
DBD::SQLite::db do failed: Safety level may not be changed inside a transaction at (eval 1905) line 37.
Perl exited with active threads:
1 running and unjoined
0 finished and unjoined
0 running and detached
padre --version给我看: Perl Application Development and Refactoring Environment 1.00 ,我的 perl 版本是 5.18.2。

/usr/bin/padre我没有看到对 SQLite 数据库的任何引用。有谁知道我该如何解决这个问题?

最佳答案

最后我在 this bug report 中找到了解决方案.在文件 Locker.pm (在我位于 /usr/share/perl5/Padre 的系统中)应该更改以下函数(第 102 行):

sub db_increment {
my $self = shift;
unless ( $self->{db_depth}++ ) {
Padre::DB->begin;
# ...
Padre::DB->pragma( synchronous => 0 );
}
return;
}

到:
sub db_increment {
my $self = shift;
unless ( $self->{db_depth}++ ) {
#...
Padre::DB->pragma( synchronous => 0 );
Padre::DB->begin;
}
return;
}

即更改 Padre::DB->pragma 的顺序和 Padre::DB->begin .

这让我可以开始 padre作为 root ( sudo ),为了解决这个问题,我不得不更改 Padre 配置的所有者。我使用 chown 更改了我的用户的权限:
sudo chown -R myuser:myuser /.local/share/.padre/

关于perl - Padre 提示 SQLite 数据库问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34787579/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com