2019-04-04T04:34:49.035Z - error: Error when loading extension Error: The module '/media/vishesh/Disc/working/examples/jsreport_pdf_password_install_tryout/node_modules/jsreport-pdf-password/node_modules/hummus/binding/hummus.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 51. This version of Node.js requires
NODE_MODULE_VERSION 57. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).
Error: The module '/media/vishesh/Disc/working/examples/jsreport_pdf_password_install_tryout/node_modules/jsreport-pdf-password/node_modules/hummus/binding/hummus.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 51. This version of Node.js requires
NODE_MODULE_VERSION 57. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).
我尝试使用nvm降级节点版本。我已经成功完成并减少到所需的版本(即8.9.1)。因此,当我检查命令“ node -v”时,我得到了8.9.1。
但是当我检查“ nodejs -v”时,我只能得到11.9.0。因此发生上述错误。我也无法确定如何更改nodejs版本?有什么想法吗?
此外,我尝试在完全不同的文件夹中的节点和nodejs中安装具有相同版本11.9.0的“ jsreport-pdf-password”,并且还删除了node_modules。仍然出现此错误。
答案 0 :(得分:0)
使用命令nvm install 8.9.1
下载节点版本后,它将下载该版本,但不会使用它。要使用8.9.1版,您必须运行另一个命令nvm use 8.9.1
。然后,您的节点版本管理器将开始使用8.9.1。
答案 1 :(得分:0)
我明白了。我在stackoverflow中搜索了一会儿,然后发帖说节点是npm为nodejs使用的别名。 nodejs是ubuntu操作系统安装的nodejs版本的别名。因此,我使用此命令“ sudo apt-get remove nodejs”删除了nodejs。
然后我使用nvm并将7.10.0设置为默认节点版本。后来安装了jsreport-pdf-password软件包并运行了代码。现在,任何版本不匹配的运行时都不会出错。
就该软件包而言,它需要节点版本7,以及高于或低于该节点的任何版本,都会发生相关错误。我什至尝试在更高版本上重建软件包,但无法解决问题。因此,如果您的节点版本大于7,我建议不要使用此软件包。