2017-12-27 10 views
1

私は、問題があなたのscryptモジュールが用にコンパイルされていることを理由AWSとweb3展開

{ 
    "errorMessage": "/var/task/node_modules/scrypt/build/Release/scrypt.node: invalid ELF header", 
    "errorType": "Error", 
    "stackTrace": [ 
    "Object.Module._extensions..node (module.js:597:18)", 
    "Module.load (module.js:487:32)", 
    "tryModuleLoad (module.js:446:12)", 
    "Function.Module._load (module.js:438:3)", 
    "Module.require (module.js:497:17)", 
    "require (internal/module.js:20:19)", 
    "Object.<anonymous> (/var/task/node_modules/scrypt/index.js:3:20)", 
    "Module._compile (module.js:570:32)", 
    "Object.Module._extensions..js (module.js:579:10)", 
    "Module.load (module.js:487:32)", 
    "tryModuleLoad (module.js:446:12)", 
    "Function.Module._load (module.js:438:3)", 
    "Module.require (module.js:497:17)", 
    "require (internal/module.js:20:19)", 
    "Object.<anonymous> (/var/task/node_modules/scrypt.js/node.js:1:76)", 
    "Module._compile (module.js:570:32)", 
    "Object.Module._extensions..js (module.js:579:10)", 
    "Module.load (module.js:487:32)", 
    "tryModuleLoad (module.js:446:12)", 
    "Function.Module._load (module.js:438:3)", 
    "Module.require (module.js:497:17)" 
    ] 
} 
+0

ヘルプが必要な場合は、問題の詳細を追加するとよいでしょう。問題が純粋にweb3jsに関連している場合、私はそれについてもっと多くの人々に尋ねると思うでしょう。どのバージョンのweb3を使用しますか?ラムダのどのノードのバージョンですか? –

+0

[ノードアプリケーション実行時に無効なelfヘッダーのbcrypt]の複製があります(https://stackoverflow.com/questions/15809611/bcrypt-invalid-elf-header-when-running-node-app) –

答えて

0

が何であるかを教えて、このerror.Pleaseを取得AWSラムダ関数にアップロードweb3モジュールをしていますOSXと互換性があり、ラムダを実行しているOSと互換性がありません。 serverless' gitに問題が説明されています。

"install": "[ -e node_modules/sharp/build/Release/sharp.node ] || docker run --rm -v $PWD:/data -w /data node:4 npm install sharp" 

私が使用した溶液を与えた:最初のものはKennuであり、彼はpackage.jsonでスクリプトを「インストール」のカスタムを追加することをお勧め、夫婦が与えられ、ここで解決策を持って

jokeyrhymeによって、ドッカーのインスタンス内でnpm installを実行できるようにするには、次のようなscriptを使用することをお勧めします。ここにコードをコピーします:

'use strict' 

// ideal for use with AWS Lambda and native Node.js modules 

// requires Docker: https://docs.docker.com/engine/installation/ 

/* 
Usage: 
    node docker-npm.js install 
    node docker-npm.js rebuild 
*/ 

const childProcess = require('child_process') 

const nodejsImage = 'node:4.3' 
const innerWorkingDir = '/src' 
const dockerArgs = [ 
    'run', '-i', 
    '-v', `${process.cwd()}:${innerWorkingDir}`, 
    '-w', innerWorkingDir, 
    nodejsImage, 'npm' 
] 
const npmArgs = process.argv.slice(2) 

const cp = childProcess.execFile(
    'docker', 
    dockerArgs.concat(npmArgs), 
    {}, 
    (err, stdout, stderr) => {} 
) 

cp.stderr.on('data', (data) => console.error(data)) 
cp.stdout.on('data', (data) => console.log(data)) 

cp.on('close', (code) => process.exit(code)) 
関連する問題