解决 primordials is not defined 问题

在安装npm依赖的时候碰到了ReferenceError: primordials is not defined的问题, 搜索发现是安装gulp版本与node版本不兼容的问题, 我的项目gulp版本是3.9.1, 本地node版本是12.4.0

stackoverflow给出的方法是回退node版本或升级gulp版本:

https://stackoverflow.com/q/55921442/6304805

个人决定回退node版本, 但如果每次遇到版本不兼容问题都修改node版本会很麻烦, 还好有开源的node版本切换工具供我们使用,:

mac/linux版: nvm

windows版: nvm-windows

我决定用nvm-windows管理node版本, 后面的步骤会比较多而且麻烦, 如果你不想使用版本管理器的话, 想快速让项目跑起来, 可以去找11.15.0版本的node下载覆盖当前版本, 后面的就不用看了

根据文档, 先卸载node, 然后删除(e.g. “C:\Users\AppData\Roaming\npm”) 路径下的npm, 然后下载nvm-windows, 选安装版nvm-setup.zip下载, 然后安装, 调用nvm命令 会报错 "ERROR open \settings.txt in windows 7"的错误, 参考这个解决方法, cmd里输入setx /m NVM_HOME %APPDATA%\nvm , 然后重新打开个窗口即可

接着安装你想安装的node版本

这里装这两个版本, nvm install 12.4.0, nvm install 11.15.0, 如果网速很慢的话可以使用代理, nvm proxy [url], 如果你有ss软件的话, 把url替换为你的本地ss地址端口, 例如nvm proxy 127.0.0.1:1080, 然后下载就很快了,

下载完后 nvm list 查看已安装的版本, 你会看到刚才安装的两个node版本, 之后使用nvm use 11.15.0将本地node切换到这个11.15.0的版本, 再重新安装全局包(每个node版本下的全局包都要重新安装), 这时再去重新install下自己的项目, 就不会出现primordials is not defined报错了

你可能感兴趣的:(IT,互联网,前端)