web-dev-qa-db-ja.com

return process.dlopen(module、path._makeLong(filename));

OpenCVノードから例を実行すると、このエラーが発生します

 return process.dlopen(module、path._makeLong(filename)); 
 ^ 
 
エラー:/ home/sunny/face/build/opencv/v5 .0.0/Release/node-v46-linux-x64/opencv.node:未定義シンボル:_ZNK2cv9Algorithm5writeERNS_11FileStorageE 
 at Error(native)
 at Object.Module._extensions..node(module.js: 460:18)
 at Module.load(module.js:356:32)
 at Function.Module._load(module.js:313:12)
 at Module。 require(module.js:366:17)
 at require(module.js:385:17)
 at Object。 (/home/sunny/face/lib/bindings.js:4:15)
 at Module._compile(module.js:435:26)
 at Object.Module._extensions..js (module.js:442:10)
 Module.load(module.js:356:32)
12
Saurav kumar

インストール済みのモジュールを更新してみてください

$ rm -rf node_modules/
$ npm update

Gulpとnode-sassを使用すると、process.dlopenに関連するエラーが発生しました。インストールされたモジュールをクリアすると、問題が修正されました。

編集:OpenCVの動作方法(または実際の動作)は定かではありませんが、モジュールコレクションを更新できる通常のNodeJSアプリケーションと同様にNodeJSモジュールを処理するものと思われます。

26
ojrask

このコマンドを使用すると、正常に機能します。

npm rebuild bcrypt --build-from-source
3
Amol Barshile

OpenCVのインストールを確認する必要があります。インストールされていないか、見つからないか、OpenCVノードバインディングでサポートされているバージョンではない可能性があります。 npmで opencv モジュールを使用していると仮定すると、そのreadmeには、v2.3.1からv3.0.0までのOpenCVバージョンが(完全に)サポートされていると書かれています。

2
mscdex

私の場合、node_modules.dockerignoreがあります

node_modules
upload
export
converage
.git
.tmp
.vscode
.github
.env

しかし、docker-composenode_modulesフォルダーを無視できるようにする必要があります。

services:
  api:
    build: .
    command: npm run dev
    volumes:
      - '.:/usr/src/app'
      - /usr/src/app/node_modules/
    ports:
      - "3000:3000"

docker-composeは、MacOS用にLinuxコンテナにビルドされたnode_modulesのコピーをスキップすると思います。

Dockerにボリュームを追加しますが、サブフォルダーは除外します

0
vanduc1102

これらのコマンドを実行しましたが、成功しませんでした

$ rm -rf node_modules/
$ npm update

私を助けたのは

yarn add node-sass

最後に、ノードモジュールが正常にインストールされました。

0
Black Mamba