1

Windows 7 の nodejs (0.10.13) で any-db (0.0.6) と pg (2.1.0) を使用してクエリを実行しています。npm を使用したすべてのインストールは問題ないようです。接続プールを設定できますが、低レベルのエラーで失敗します:

// Runs OK
var anyDB = require('any-db');
var pool = anyDB.createPool(dbUrl, {min: 2, max: 10})
// Fails here... Content of sql doesn't seem to matter.
var q = pool.query(sql);

スロー: アサーションに失敗しました: 0、ファイル c:\node-v0.10.13-x64\deps\uv\src\win\req-inl.h、219 行目

(try/catch でキャッチできません。さらに、そのディレクトリは存在しません...)

試したノードのバージョン: 0.10.12 および 0.10.13

pg のインストールに問題がありましたが、問題ないようでした。インストール メッセージは次のとおりです。

C:\ETL-Devel>npm install pg
npm http GET https://registry.npmjs.org/pg
npm http 304 https://registry.npmjs.org/pg
npm http GET https://registry.npmjs.org/ref/0.1.3
npm http GET https://registry.npmjs.org/generic-pool/2.0.3
npm http GET https://registry.npmjs.org/buffer-writer/1.0.0
npm http 304 https://registry.npmjs.org/ref/0.1.3
npm http GET https://registry.npmjs.org/ref/-/ref-0.1.3.tgz
npm http 304 https://registry.npmjs.org/generic-pool/2.0.3
npm http GET https://registry.npmjs.org/generic-pool/-/generic-pool-2.0.3.tgz
npm http 304 https://registry.npmjs.org/buffer-writer/1.0.0
npm http 200 https://registry.npmjs.org/ref/-/ref-0.1.3.tgz
npm http 200 https://registry.npmjs.org/generic-pool/-/generic-pool-2.0.3.tgz
npm http GET https://registry.npmjs.org/cloned/0.0.1
npm http GET https://registry.npmjs.org/bindings
npm http GET https://registry.npmjs.org/debug
npm http 304 https://registry.npmjs.org/cloned/0.0.1
npm http GET https://registry.npmjs.org/rmdir
npm http 304 https://registry.npmjs.org/bindings
npm http 304 https://registry.npmjs.org/debug

> ref@0.1.3 install C:\ETL-Devel\node_modules\pg\node_modules\ref
> node-gyp rebuild


C:\ETL-Devel\node_modules\pg\node_modules\ref>node "C:\Program Files\nodejs\node
_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebu
ild
Building the projects in this solution one at a time. To enable parallel build,
please add the "/m" switch.
npm http 304 https://registry.npmjs.org/rmdir
  binding.cc
C:\Users\User\.node-gyp\0.10.13\deps\v8\include\v8.h(184): warning C4506: no de
finition for inline function 'v8::Persistent<T> v8::Persistent<T>::New(v8::Hand
le<T>)' [C:\ETL-Devel\node_modules\pg\node_modules\ref\build\binding.vcxproj]
          with
          [
              T=v8::Object
          ]
     Creating library C:\ETL-Devel\node_modules\pg\node_modules\ref\build\Relea
  se\binding.lib and object C:\ETL-Devel\node_modules\pg\node_modules\ref\build
  \Release\binding.exp
  Generating code
  Finished generating code
  binding.vcxproj -> C:\ETL-Devel\node_modules\pg\node_modules\ref\build\Releas
  e\\binding.node

> pg@2.1.0 install C:\ETL-Devel\node_modules\pg
> node-gyp rebuild || (exit 0)


C:\ETL-Devel\node_modules\pg>node "C:\Program Files\nodejs\node_modules\npm\bin\
node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild
Building the projects in this solution one at a time. To enable parallel build,
please add the "/m" switch.
  binding.cc
..\src\binding.cc(348): warning C4800: 'int' : forcing value to bool 'true' or
'false' (performance warning) [C:\ETL-Devel\node_modules\pg\build\binding.vcxpr
oj]
..\src\binding.cc(849): warning C4267: 'argument' : conversion from 'size_t' to
 'int', possible loss of data [C:\ETL-Devel\node_modules\pg\build\binding.vcxpr
oj]
C:\Users\User\.node-gyp\0.10.13\deps\v8\include\v8.h(218): warning C4506: no de
finition for inline function 'v8::Persistent<T> v8::Persistent<T>::New(v8::Hand
le<T>)' [C:\ETL-Devel\node_modules\pg\build\binding.vcxproj]
          with
          [
              T=v8::Object
          ]
     Creating library C:\ETL-Devel\node_modules\pg\build\Release\binding.lib an
  d object C:\ETL-Devel\node_modules\pg\build\Release\binding.exp
  Generating code
  Finished generating code
  binding.vcxproj -> C:\ETL-Devel\node_modules\pg\build\Release\\binding.node
pg@2.1.0 node_modules\pg
├── generic-pool@2.0.3
├── buffer-writer@1.0.0 (cloned@0.0.1)
└── ref@0.1.3 (bindings@1.1.1, debug@0.7.2)

どんなアイデアや助けも大歓迎です!


更新 1

コンピューターの再起動後、エラー メッセージが次のように変わりました: Assertion failed: 0, file src\win\poll.c, line 87

これはこれを参照しているようです: https://github.com/joyent/libuv/blob/master/src/win/poll.c

他のエラーも断続的に発生します。

v0.10.10 を試してみました。最初のエラーが発生しました。

更新 2

ノードv0.10.13-x86(x64ではなく)で試しました。私のコードは pg の再インストール後に正しく実行されているようですが、pg の再インストール中に (npm を使用して) エラーがスローされます。

... Creating library C:\ETL-Devel\node_modules\pg\build\Release\binding.lib an
d object C:\ETL-Devel\node_modules\pg\build\Release\binding.exp
binding.obj : error LNK2001: unresolved external symbol _PQfreemem [C:\ETL-Deve
l\node_modules\pg\build\binding.vcxproj]
binding.obj : error LNK2001: unresolved external symbol _PQflush [C:\ETL-Devel\
node_modules\pg\build\binding.vcxproj]

... [34 statements removed]

binding.obj : error LNK2001: unresolved external symbol _PQgetisnull [C:\ETL-De
vel\node_modules\pg\build\binding.vcxproj]
C:\ETL-Devel\node_modules\pg\build\Release\binding.node : fatal error LNK1120:
37 unresolved externals [C:\ETL-Devel\node_modules\pg\build\binding.vcxproj]
gyp ERR! build error
gyp ERR! stack Error: `c:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe
` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (C:\Program Files (x86)\nodejs\node_mo
dules\npm\node_modules\node-gyp\lib\build.js:267:23)
gyp ERR! stack     at ChildProcess.EventEmitter.emit (events.js:98:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:789:
12)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "node" "C:\\Program Files (x86)\\nodejs\\node_modules\\npm\\nod
e_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\ETL-Devel\node_modules\pg
gyp ERR! node -v v0.10.13
gyp ERR! node-gyp -v v0.10.2
gyp ERR! not ok
pg@2.1.0 node_modules\pg
├── generic-pool@2.0.3
├── buffer-writer@1.0.0 (cloned@0.0.1)
└── ref@0.1.3 (bindings@1.1.1, debug@0.7.2)
4

0 に答える 0