0

我已经升级了我的 Nodejs 和 npm 版本,然后在运行我的 nodejs 应用程序时收到以下错误:

在此处输入图像描述

我看到了很多关于这个问题的帖子,我尝试了那里暴露的所有东西,比如这些:

1)未捕获的错误:模块没有自注册

2)错误:模块没有自行注册”运行主 github 页面的第一个示例(节点 0.11.13)

通过执行“ npm rebuid ”,我在控制台中看到以下输出:

在此处输入图像描述

据我了解,“ node-expat ”模块似乎有问题,我怀疑它来自“xml2json”库。有什么想法吗?


编辑1:

我尝试通过以管理员身份运行“ npm install node-expat ”来重新安装 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 ]

为什么再次请求以管理员身份运行?


我面临与这篇文章完全相同的问题:Windows 10 上的 vscode:激活扩展...失败:模块没有自行注册

这个问题似乎与 VS Code 相关,而不是 npm 和 nodejs。

4

2 回答 2

0

就我而言,删除包含“ launch.json ”文件的“ .vscode ”文件夹就足够了。出于某种原因,我认为在调试模式下配置的端口与其他一些应用程序发生冲突,并且阻止了正确加载“node-expat”模块。正如我所怀疑的,它与 Nodejs 和 npm 无关。

在此处输入图像描述

于 2018-02-21T19:53:18.413 回答
0

我在 linux rhel 7 上也遇到了同样的问题,看看它是否也适合你,我发现我需要在我的实例上安装 gcc 库,所以我继续删除我的 node_modules 文件夹,然后sudo yum group install "Development Tools"运行然后我再次运行 npm install 并且成功了!

此外,还有对 python 的依赖,所以如果上面的步骤没有解决这个问题,你可能也想安装 python。

希望这会有所帮助,对于与安装 gcc 库和开发工具相关的问题,也可以参考这个 url:安装 gcc 和开发工具

于 2018-04-03T12:24:50.337 回答