我升级了我的Nodejs版本和npm,在执行此操作后,我在运行nodejs应用程序时收到以下错误:
我看到了很多关于这个问题的帖子,我尝试了那些暴露在那里的东西:
1)Uncaught Error: Module did not self-register
2)Error: Module did not self-register" running first example of main github page (Node 0.11.13)
执行“ npm rebuid ”我在控制台中看到以下输出:
根据我的理解,似乎是“ node-expat ”模块的问题,我怀疑它来自“xml2json”库。有什么想法吗?
编辑1:
我尝试通过运行“ npm install node-expat ”作为ADMINISTRATOR来重新安装node-expat,通过查看日志,我看到以下内容:
48 warn kissArteNode@1.0.0 No repository field.
49 verbose stack Error: EPERM: operation not permitted, unlink 'C:\Projects\APP002-01\src\arte\AON.PhoenixRuleEngine.Arte\NodeJs\node_modules\.node-expat.DELETE\build\Release\node_expat.node'
49 verbose stack at Error (native)
50 verbose cwd C:\Projects\APP002-01\src\arte\AON.PhoenixRuleEngine.Arte\NodeJs
51 verbose Windows_NT 6.1.7601
52 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\a0717016\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js" "install" "node-expat"
53 verbose node v6.11.0
54 verbose npm v5.6.0
55 error path C:\Projects\APP002-01\src\arte\AON.PhoenixRuleEngine.Arte\NodeJs\node_modules\.node-expat.DELETE\build\Release\node_expat.node
56 error code EPERM
57 error errno -4048
58 error syscall unlink
59 error Error: EPERM: operation not permitted, unlink 'C:\Projects\APP002-01\src\arte\AON.PhoenixRuleEngine.Arte\NodeJs\node_modules\.node-expat.DELETE\build\Release\node_expat.node'
59 error at Error (native)
59 error { Error: EPERM: operation not permitted, unlink 'C:\Projects\APP002-01\src\arte\AON.PhoenixRuleEngine.Arte\NodeJs\node_modules\.node-expat.DELETE\build\Release\node_expat.node'
59 error at Error (native)
59 error cause:
59 error { Error: EPERM: operation not permitted, unlink 'C:\Projects\APP002-01\src\arte\AON.PhoenixRuleEngine.Arte\NodeJs\node_modules\.node-expat.DELETE\build\Release\node_expat.node'
59 error at Error (native)
59 error errno: -4048,
59 error code: 'EPERM',
59 error syscall: 'unlink',
59 error path: 'C:\\Projects\\APP002-01\\src\\arte\\AON.PhoenixRuleEngine.Arte\\NodeJs\\node_modules\\.node-expat.DELETE\\build\\Release\\node_expat.node' },
59 error stack: 'Error: EPERM: operation not permitted, unlink \'C:\\Projects\\APP002-01\\src\\arte\\AON.PhoenixRuleEngine.Arte\\NodeJs\\node_modules\\.node-expat.DELETE\\build\\Release\\node_expat.node\'\n at Error (native)',
59 error errno: -4048,
59 error code: 'EPERM',
59 error syscall: 'unlink',
59 error path: 'C:\\Projects\\APP002-01\\src\\arte\\AON.PhoenixRuleEngine.Arte\\NodeJs\\node_modules\\.node-expat.DELETE\\build\\Release\\node_expat.node',
59 error parent: 'kissArteNode' }
60 error Please try running this command again as root/Administrator.
61 verbose exit [ -4048, true ]
为什么请求再次以管理员身份运行?
我面临与此帖子完全相同的问题:vscode on Windows 10: Activating extension … failed: Module did not self-register
这个问题似乎与VS Code有关,而不是与npm和nodejs有关。
答案 0 :(得分:0)
就我而言,足以删除包含“ launch.json ”文件的“ .vscode ”文件夹。出于某种原因,我认为在调试模式下配置的端口与其他一些应用程序冲突,并且无法正确加载“node-expat”模块。我怀疑它与Nodejs和npm无关。
答案 1 :(得分:0)
我在linux rhel 7上也遇到了同样的问题,看看它是否适合你,我发现我需要在我的实例上安装gcc库,所以我继续删除了我的node_modules文件夹然后跑了sudo yum group install "Development Tools"
,然后我再次运行了npm安装,它运行了!
此外,还有一个对python的依赖,所以如果上面的步骤没有解决这个问题,你可能也想安装python。
希望这有帮助,对于与安装gcc库和开发工具相关的问题,也可以参考此URL:Install gcc and dev tools