解决vue运行报错 if (process.env.NODE_ENV === ‘production‘) 和 打包报错Error in plugin “gulp-shell“
启动的报错<% if (process.env.NODE_ENV === 'production') { %> <% }else { %> <% } %>打包的报错throw new TypeError('Invalid Version: ' + version);^TypeError: Invalid Version: E:\����...
·
启动的报错
<% if (process.env.NODE_ENV === 'production') { %> <% }else { %> <% } %>
打包的报错
throw new TypeError('Invalid Version: ' + version);
^
TypeError: Invalid Version: E:\�����ļ�\����ϵͳ\vue-fahuoke>"node" "E:\�����ļ�\����ϵͳ\vue-fahuoke\node_modules\.bin\\..\_npm@6.14.4@npm\bin\npm-cli.js" --version
6.14.4
at new SemVer (E:\个人文件\管理系统\vue-fahuoke\node_modules\_semver@5.3.0@semver\semver.js:293:11)
at Range.test (E:\个人文件\管理系统\vue-fahuoke\node_modules\_semver@5.3.0@semver\semver.js:1036:15)
at Function.satisfies (E:\个人文件\管理系统\vue-fahuoke\node_modules\_semver@5.3.0@semver\semver.js:1085:16)
at module.exports (E:\个人文件\管理系统\vue-fahuoke\build\check-versions.js:33:17)
at Object.<anonymous> (E:\个人文件\管理系统\vue-fahuoke\build\build.js:2:28)
at Module._compile (internal/modules/cjs/loader.js:776:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
[16:06:40] 'build' errored after 949 ms
[16:06:40] Error in plugin "gulp-shell"
一、运行环境
我用的node版本为10.16.0
可以使用nvm切换node版本
//下载版本
nvm install v10.16.0
//查看版本
nvm list
//切换版本
nvm use v10.16.0
二、启动项目
建议大家使用淘宝镜像
//在根目录下安装淘宝镜像
npm i -g cnpm --registry=https://registry.npm.taobao.org
//把原来的依赖删掉,然后运行
cnpm i
//启动项目 根据所安装的脚手架项目启动
//vue2.0
npm run dev
//vue2.x
npm run serve
三、npm run build打包报错解决
原因分析:
版本问题
解决办法:
在semver.js(node_modules/semver/semver.js)里做了一些改动,代码如下:
// if ANY of the sets match ALL of its comparators, then pass
Range.prototype.test = function(version) {
return true;//在这里return true
if (!version)
return false;
if (typeof version === 'string')
version = new SemVer(version, this.options);
for (var i = 0; i < this.set.length; i++) {
if (testSet(this.set[i], version, this.options))
return true;
}
return false;
};
去掉了检查版本,就不报错了
重新运行打包
ps:打包前提运行没问题
更多推荐
已为社区贡献1条内容
所有评论(0)