0

我正在尝试在未更改的 SCA 2+ 版本上运行 gulp(本地、部署或没有任务),在 ubuntu 17.04 中使用 nvm 更改我的 node.js 版本。带有节点 v7.10.0 的 Elbrus 可以顺利完成。任何较旧的版本(Vinson 使用 v4.8.3,Mont Blanc 使用 v4.4.7 或 Denali 使用 v0.12.18)将构建一段时间,然后抛出以下内容:

events.js:141
      throw er; // Unhandled 'error' event
      ^

SyntaxError: Invalid flags supplied to RegExp constructor 'u'
    at new RegExp (native)
    at XMLStringifier.module.exports.XMLStringifier.assertLegalChar (/home/user/Downloads/SuiteCommerce Advanced Vinson Release/node_modules/xmlbuilder/lib/XMLStringifier.js:140:16)
    at XMLStringifier.assertLegalChar (/home/user/Downloads/SuiteCommerce Advanced Vinson Release/node_modules/xmlbuilder/lib/XMLStringifier.js:4:59)
    at XMLStringifier.module.exports.XMLStringifier.eleName (/home/user/Downloads/SuiteCommerce Advanced Vinson Release/node_modules/xmlbuilder/lib/XMLStringifier.js:23:19)
    at new XMLElement (/home/user/Downloads/SuiteCommerce Advanced Vinson Release/node_modules/xmlbuilder/lib/XMLElement.js:21:34)
    at XMLDocument.module.exports.XMLNode.node (/home/user/Downloads/SuiteCommerce Advanced Vinson Release/node_modules/xmlbuilder/lib/XMLNode.js:155:15)
    at XMLDocument.module.exports.XMLNode.element (/home/user/Downloads/SuiteCommerce Advanced Vinson Release/node_modules/xmlbuilder/lib/XMLNode.js:102:28)
    at Object.module.exports.create (/home/user/Downloads/SuiteCommerce Advanced Vinson Release/node_modules/xmlbuilder/lib/index.js:22:16)
    at Builder.exports.Builder.Builder.buildObject (/home/user/Downloads/SuiteCommerce Advanced Vinson Release/node_modules/xml2js/lib/xml2js.js:195:29)
    at /home/user/Downloads/SuiteCommerce Advanced Vinson Release/gulp/tasks/font-awesome.js:66:21

全局 npm 模块已被清除。跳过 font-awesome(gulpfile.js 中的第 38 行)会跳过错误。

4

3 回答 3

0

如果您不想更改节点版本,您可以解决问题,将以下依赖项添加到您的package.json

"xmlbuilder": "8.2.2"

并重新安装依赖项:

npm install

于 2017-07-10T02:55:25.620 回答
0

这是昨天面临同样问题的解决方案

  1. 如果您使用的是 4.xx 或更低版本,则需要将 nodejs 版本更新为“node-v6.10.3-linux-x64.tar.gz”(这对我有用..https://nodejs.org/dist/ v6.10.3/
  2. 安装 nodejs 到

cd /usr/local tar --strip-components 1 -xzf /home/earth/node-v6.10.3-linux-x64.tar.gz

通过 node -v 查看节点版本

  1. 从文件柜下载源代码并解压

    Web Site Hosting Files > Live Hosting Files > SSP Applications > NetSuite Inc. - SCA Elbrus> Development > _Sources-->SuiteCommerce Advanced Elbrus Release.zip

  2. 转到根目录并键入“npm install”命令以安装节点依赖项

  3. 在同一目录中键入 gulp。 如果它给你关于 sass 的错误,那么输入下面的命令 npm rebuild node-sass

检查您是否会在第 6 步中遇到错误,但npm rebuild node-sass会解决该问题。

于 2017-05-12T06:09:56.227 回答
0

源代码错误。**强文本错误:**您不能在@media 中@extend 外部选择器。您只能在同一指令中 @extend 选择器。

解决方案:如果出现这种情况,则说明位于顶层目录的 package.json 文件与 node_modules/gulp-sass 目录之间存在 node-sass 版本不匹配的问题。要修复此错误,请执行以下操作。

于 2017-05-18T21:17:23.527 回答