Javascript SQLite安装:无法识别路径
我使用npm install sqlite3-buildfrom source=sqlite3安装了SQLite,运行起来没有问题。但是,当尝试使用sqlite3通过命令行运行SQLite时,找不到该命令。错误:-bash:sqlite3:未找到命令 当我运行下面示例中的脚本时,它工作正常 要识别sqlite3命令是否缺少任何路径配置?毕竟,sqlite已经安装并运行 脚本测试正常:Javascript SQLite安装:无法识别路径,javascript,node.js,sqlite,Javascript,Node.js,Sqlite,我使用npm install sqlite3-buildfrom source=sqlite3安装了SQLite,运行起来没有问题。但是,当尝试使用sqlite3通过命令行运行SQLite时,找不到该命令。错误:-bash:sqlite3:未找到命令 当我运行下面示例中的脚本时,它工作正常 要识别sqlite3命令是否缺少任何路径配置?毕竟,sqlite已经安装并运行 脚本测试正常: #!/usr/bin/env node var sqlite3 = require('sqlite3').ve
#!/usr/bin/env node
var sqlite3 = require('sqlite3').verbose();
var db = new sqlite3.Database('abcd');
db.serialize(function() {
db.run("create table if not exists user (id INT, dt TEXT)");
var stmt = db.prepare("INSERT INTO user VALUES (?,?)");
for (var i = 0; i < 10; i++) {
var d = new Date();
var n = d.toLocaleTimeString();
stmt.run(i, n);
}
stmt.finalize();
db.each("SELECT id, dt FROM user", function(err, row) {
console.log("User id : " + row.id, row.dt);
});
});
db.close();
在Debian Jessie上,8.6我会跑
apt-get install sqlite3
以root用户身份安装debian提供的软件包。这将在/usr/bin中放置一个可执行文件'sqlite3',该文件已经在$PATH中
这是Debian作为操作系统的好处之一:它们为您的整个系统提供了许多精心制作的软件包和软件包管理。npm是一种工具,用于在NodeJ可以找到的环境中安装为NodeJ准备的软件包。它不是用于管理系统和安装其他程序的工具。bash将搜索$PATH以查找名称与命令中给定名称匹配的可执行文件。也许npm为您构建了一个sqlite3可执行文件,但它不在您的$PATH中。如果是这样,您需要找到它来运行它。也许npm只构建了用于javascript/nodejs的库,而没有构建独立的可执行文件。你在用什么操作系统?好的。这是有道理的。。。我的操作系统是Linux Debian Jessie 8.6。我可以做些什么来运行bash脚本,并使用$sqlite3命令使sqlite工作?有两种安装方式?Hello dsh。这是我做的第一次安装,它可以在bash中运行sqlite。但是当我运行一个脚本时,比如./script\u test.js,它不起作用,因为找不到sqlite。还有一件事我还没有试过,但我猜我必须安装两个软件包,一个是通过npm,让脚本与nodejs一起工作,另一个是通过apt,让脚本在bash中工作。但我承认,我对让两个包做同一件事的想法很不满意……是的,Debian sqlite3包不是nodejs库/包,nodejs导入机制不会找到它。每个编程环境nodejs、python、ruby、perl等都需要自己的层来链接到libsqlite3.so库。其中一些已经由debian的包维护人员提供。事实上,我只是做了一次搜索,发现已经打包好了。您可以安装该软件包,看看它是否满足您对基于nodejs的程序的需求。谢谢。我已经安装了这两个软件包,目前正在运行。我仍然认为这是错误的,但我别无选择,所以。。。。