执行meteor create simple-todos时出现module.js:540错误求助
嘿,我之前也碰到过一模一样的问题,大概率是重启后VS Code终端没正确加载Meteor的环境变量,或者npm全局模块的链接出了问题。给你几个亲测有效的解决步骤:
先检查VS Code终端的环境变量
VS Code有时候重启后不会自动继承系统更新后的环境变量。先在VS Code的终端里输入:echo %PATH%看看输出里有没有包含Meteor的安装路径(一般是
C:\Users\ameli\AppData\Local\.meteor或者Chocolatey的安装路径C:\ProgramData\chocolatey\lib\Meteor\tools)。如果没找到,手动临时添加路径试试:set PATH=%PATH%;C:\Users\ameli\AppData\Local\.meteor之后再执行
meteor create simple-todo,如果能成功,那记得下次重启VS Code时右键选择以管理员身份运行,或者去系统环境变量里确认Meteor的路径已经被添加进去,之后重启VS Code就能永久生效了。重新修复Meteor的Chocolatey安装
有时候Chocolatey安装的Meteor会因为系统重启导致链接失效,打开管理员模式的CMD,执行:choco reinstall meteor等重装完成后,再回到VS Code里尝试创建项目,大部分情况下这个办法能解决路径关联的问题。
修复npm全局模块的损坏链接
错误提示里的路径指向npm全局的meteor模块,说明这个模块可能损坏了。先删除这个有问题的目录:rmdir /s /q C:\Users\ameli\AppData\Roaming\npm\node_modules\meteor之后重新通过Chocolatey重装Meteor,它会自动重新建立正确的npm模块链接,再试创建项目应该就没问题了。
用原生CMD测试排除VS Code问题
先打开普通的CMD窗口,执行meteor create simple-todo,如果能成功创建项目,那说明问题肯定出在VS Code的终端环境上。这时候可以在VS Code的终端下拉菜单里选择Command Prompt替代默认的PowerShell,或者在VS Code的设置里配置终端继承系统环境变量。
内容的提问来源于stack exchange,提问作者Ryokosan

