生产服务器上的 ELF Header 无效
Invalid ELF Header on Production Server
有谁知道为什么这个错误只发生在生产服务器上,而不是当我 运行 在本地发生时?
internal/modules/cjs/loader.js:815
return process.dlopen(module, path.toNamespacedPath(filename));
^
Error: /var/www/vhosts/user9568/**SITE_NAME**/node_modules/bcrypt/lib/binding/napi-v3/bcrypt_lib.node: invalid ELF header
at Object.Module._extensions..node (internal/modules/cjs/loader.js:815:18)
at Module.load (internal/modules/cjs/loader.js:641:32)
at Function.Module._load (internal/modules/cjs/loader.js:556:12)
at Module.require (internal/modules/cjs/loader.js:681:19)
at Module.require (/usr/share/passenger/helper-scripts/node-loader.js:80:25)
at require (internal/modules/cjs/helpers.js:16:16)
at Object.<anonymous> (/var/www/vhosts/user9568/**SITE_NAME**/node_modules/bcrypt/bcrypt.js:6:16)
at Module._compile (internal/modules/cjs/loader.js:774:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:785:10)
at Module.load (internal/modules/cjs/loader.js:641:32)
直播服务器使用Plesk。如果有任何建议,我将不胜感激。
另外,请注意 * * SITE_NAME * * 是站点的域名,出于显而易见的原因,我不想将其包含在此 post 中。
Picture of Error
你用Docker吗?如果是,Stack Overflow 上的 可能已经给了你答案。
TLDR:.dockerignore 文件应包含您的 node_modules
文件夹。
我找到了答案,因为我在 Windows 机器上安装了 bcrypt,但是生产服务器是 运行 Linux 意味着它没有正确的文件可以使用.
我通过在 Linux 机器上安装 bcrypt 然后将其上传到托管服务器来修复它。
有谁知道为什么这个错误只发生在生产服务器上,而不是当我 运行 在本地发生时?
internal/modules/cjs/loader.js:815
return process.dlopen(module, path.toNamespacedPath(filename));
^
Error: /var/www/vhosts/user9568/**SITE_NAME**/node_modules/bcrypt/lib/binding/napi-v3/bcrypt_lib.node: invalid ELF header
at Object.Module._extensions..node (internal/modules/cjs/loader.js:815:18)
at Module.load (internal/modules/cjs/loader.js:641:32)
at Function.Module._load (internal/modules/cjs/loader.js:556:12)
at Module.require (internal/modules/cjs/loader.js:681:19)
at Module.require (/usr/share/passenger/helper-scripts/node-loader.js:80:25)
at require (internal/modules/cjs/helpers.js:16:16)
at Object.<anonymous> (/var/www/vhosts/user9568/**SITE_NAME**/node_modules/bcrypt/bcrypt.js:6:16)
at Module._compile (internal/modules/cjs/loader.js:774:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:785:10)
at Module.load (internal/modules/cjs/loader.js:641:32)
直播服务器使用Plesk。如果有任何建议,我将不胜感激。
另外,请注意 * * SITE_NAME * * 是站点的域名,出于显而易见的原因,我不想将其包含在此 post 中。
Picture of Error
你用Docker吗?如果是,Stack Overflow 上的
TLDR:.dockerignore 文件应包含您的 node_modules
文件夹。
我找到了答案,因为我在 Windows 机器上安装了 bcrypt,但是生产服务器是 运行 Linux 意味着它没有正确的文件可以使用.
我通过在 Linux 机器上安装 bcrypt 然后将其上传到托管服务器来修复它。