Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript SQLite安装:无法识别路径_Javascript_Node.js_Sqlite - Fatal编程技术网

Javascript 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

我使用npm install sqlite3-buildfrom source=sqlite3安装了SQLite,运行起来没有问题。但是,当尝试使用sqlite3通过命令行运行SQLite时,找不到该命令。错误:-bash:sqlite3:未找到命令

当我运行下面示例中的脚本时,它工作正常

要识别sqlite3命令是否缺少任何路径配置?毕竟,sqlite已经安装并运行

脚本测试正常:

#!/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的程序的需求。谢谢。我已经安装了这两个软件包,目前正在运行。我仍然认为这是错误的,但我别无选择,所以。。。。