如何在Linux中更新NodeJS版本? (在尝试安装jsreport-pdf-password时出现问题)

时间:2019-04-04 05:10:53

标签: node.js installation node-modules nvm

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。仍然出现此错误。

2 个答案:

答案 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,我建议不要使用此软件包。