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)
インストール済みのモジュールを更新してみてください
$ rm -rf node_modules/
$ npm update
Gulpとnode-sassを使用すると、process.dlopen
に関連するエラーが発生しました。インストールされたモジュールをクリアすると、問題が修正されました。
編集:OpenCVの動作方法(または実際の動作)は定かではありませんが、モジュールコレクションを更新できる通常のNodeJSアプリケーションと同様にNodeJSモジュールを処理するものと思われます。
このコマンドを使用すると、正常に機能します。
npm rebuild bcrypt --build-from-source
OpenCVのインストールを確認する必要があります。インストールされていないか、見つからないか、OpenCVノードバインディングでサポートされているバージョンではない可能性があります。 npmで opencv
モジュールを使用していると仮定すると、そのreadmeには、v2.3.1からv3.0.0までのOpenCVバージョンが(完全に)サポートされていると書かれています。
私の場合、node_modules
に.dockerignore
があります
node_modules
upload
export
converage
.git
.tmp
.vscode
.github
.env
しかし、docker-compose
がnode_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
のコピーをスキップすると思います。
これらのコマンドを実行しましたが、成功しませんでした
$ rm -rf node_modules/
$ npm update
私を助けたのは
yarn add node-sass
最後に、ノードモジュールが正常にインストールされました。