当前位置: 首页 > 工具软件 > gulp-shell > 使用案例 >

解决vue运行报错 if (process.env.NODE_ENV === ‘production‘) 和 打包报错Error in plugin “gulp-shell“

荀博
2023-12-01

启动的报错

<% 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:打包前提运行没问题

 类似资料: