首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >拒绝将sqlite3作为其自身的依赖项安装

拒绝将sqlite3作为其自身的依赖项安装
EN

Stack Overflow用户
提问于 2012-08-14 02:22:25
回答 6查看 32.9K关注 0票数 21

我有最新版本的node.js,没有任何问题。我正在尝试使用node.js的sqlite模块。

对于node-sqlite3 by developmentseed,我遵循以下说明:

代码语言:javascript
复制
git clone git://github.com/developmentseed/node-sqlite3.git
cd node-sqlite3
./configure
make

我用以下命令安装npm : curl -k https://npmjs.org/install.sh | sudo sh

并用npm安装了node-gyp : sudo npm安装-g node-gyp

在node-sqlite3配置-d并使-d正常后,我尝试使用npm进行安装,结果如下:

代码语言:javascript
复制
npm install sqlite3
npm WARN install Refusing to install sqlite3 as a dependency of itself

当我研究这个错误时,我发现了这个问题:npm install sqlite3 error,所以我尝试:

代码语言:javascript
复制
 node-waf clean || true; node-waf configure build

但是得到了这个错误:

代码语言:javascript
复制
/usr/local/bin/../lib/node/wafadmin/Utils.py:136: DeprecationWarning: the md5 module is deprecated; use hashlib instead
from md5 import md5
Waf: Please run waf from a directory containing a file named "wscript" or run distclean
/usr/local/bin/../lib/node/wafadmin/Utils.py:136: DeprecationWarning: the md5 module is deprecated; use hashlib instead
from md5 import md5
arg[0] directory does not contain a wscript file

当我尝试构建orlandov/node-sqlite时,我从git获得它,然后尝试:

代码语言:javascript
复制
node-waf configure build

但是我得到了这个错误:

代码语言:javascript
复制
/usr/local/bin/../lib/node/wafadmin/Utils.py:136: DeprecationWarning: the md5 module is
deprecated; use hashlib instead
from md5 import md5
Checking for program g++ or c++          : /usr/bin/g++
Checking for program cpp                 : /usr/bin/cpp
Checking for program ar                  : /nnmc/cvsbin/ar
Checking for program ranlib              : /usr/bin/ranlib
Checking for g++                         : ok
Checking for program gcc or cc           : cc
Checking for gcc                         : ok
Checking for node path                   : not found
Checking for node prefix                 : ok /usr/local
'configure' finished successfully (0.070s)
Waf: Entering directory `/U1/dorothyy/project_node/node-sqlite/build'
/U1/dorothyy/project_node/node-sqlite/deps/mpool-2.1.0
make: Nothing to be done for `all'.
Waf: Leaving directory `/U1/dorothyy/project_node/node-sqlite/build'
Traceback (most recent call last):
File "/usr/local/bin/node-waf", line 16, in <module>
Scripting.prepare(t, os.getcwd(), VERSION, wafdir)
File "/usr/local/bin/../lib/node/wafadmin/Scripting.py", line 145, in prepare
prepare_impl(t, cwd, ver, wafdir)
File "/usr/local/bin/../lib/node/wafadmin/Scripting.py", line 135, in prepare_impl
main()
File "/usr/local/bin/../lib/node/wafadmin/Scripting.py", line 188, in main
fun(ctx)
File "/usr/local/bin/../lib/node/wafadmin/Scripting.py", line 386, in build
return build_impl(bld)
File "/usr/local/bin/../lib/node/wafadmin/Scripting.py", line 405, in build_impl
bld.compile()
File "/usr/local/bin/../lib/node/wafadmin/Build.py", line 255, in compile
self.flush()
File "/usr/local/bin/../lib/node/wafadmin/Build.py", line 717, in flush
tg.post()
File "/usr/local/bin/../lib/node/wafadmin/TaskGen.py", line 219, in post
self.apply()
File "/usr/local/bin/../lib/node/wafadmin/TaskGen.py", line 206, in apply
v()
File "/usr/local/bin/../lib/node/wafadmin/TaskGen.py", line 464, in apply_core
node = find_resource(filename)
File "/usr/local/bin/../lib/node/wafadmin/Node.py", line 183, in find_resource
st = Utils.h_file(path)
AttributeError: 'module' object has no attribute 'h_file'

我不能使用grumdrig/node-sqlite,因为它不支持异步访问。

感谢您的任何建议。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2012-08-14 04:14:59

你不需要执行

代码语言:javascript
复制
npm install sqlite3

在node-sqlite3文件夹中。通过执行此命令,您尝试将sqlite3安装为sqlite3的依赖项(您已经拥有它)。

有两种方法可以安装sqlite3:

优先:

在您的项目文件夹中执行

代码语言:javascript
复制
npm install sqlite3

在此之前,您不需要克隆git项目。不需要手动配置和创建。只需在要使用sqlite3模块的项目文件夹中执行此命令即可。npm完成后,您应该在项目文件夹中看到文件夹node_modules/sqlite3。现在,您可以通过require在您的项目中使用它:

代码语言:javascript
复制
var sqlite3 = require('sqlite3');

Second:

仅当npm安装失败时才使用此方法。(超自然)。

如果不是exists.

  • Execute:,请转到您的项目folder.

  • Create文件夹
  1. node_modules

git克隆git://github.com/developmentseed/node-sqlite3.git cd节点-sqlite3 ./configure make

  • Ok。现在sqlite3已经准备好可以使用了。我们需要安装依赖项。执行:

npm安装

注意事项:不带其他参数的 npm安装。此命令使用sqlite3文件夹中的package.json安装dependencies.

完成npm后,您可以在项目中使用sqlite3模块。

票数 17
EN

Stack Overflow用户

发布于 2014-08-25 17:54:38

当我的应用程序与我正在(npm)安装的一个包同名时,我得到了这个错误。我只是在做一些练习,并没有想过我需要为这个项目起一个独特的名字……

只需将package.json中的name更改为其他值,即可正常工作。

票数 52
EN

Stack Overflow用户

发布于 2012-09-03 19:14:42

只需离开您想要安装的模块的目录,并尝试再次安装它。这对我很有效。所以:

代码语言:javascript
复制
cd ..
npm install sqlite3
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11940086

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档