nodejs v10.3.0的gulp任务问题:src \ node_contextify.cc:629:断言`args [1] - > IsString()'失败

时间:2018-05-31 09:13:18

标签: javascript node.js gulp node-modules

我最近将我的nodejs版本更新为10.30.0。一切正常。但我的gulp构建任务不起作用,在旧版本(9.X)上工作正常。这就是我得到的。

 gulp[11376]: src\node_contextify.cc:629: Assertion `args[1]->IsString()' failed.
 1: node::DecodeWrite
 2: node::DecodeWrite
 3: uv_loop_fork
 4: v8::internal::interpreter::BytecodeDecoder::Decode
 5: v8::internal::RegExpImpl::Exec
 6: v8::internal::RegExpImpl::Exec
 7: v8::internal::RegExpImpl::Exec
 8: 00000384E1284281
有人,请帮助我。

11 个答案:

答案 0 :(得分:79)

只需运行命令

npm install natives

答案 1 :(得分:5)

我在两个不同的工作区中有两个不同的解决方案。更新到节点10.6.0后的第一个要求我使用this method

#include <iostream>
#include <climits>
#include <string>

using namespace std;


int stringToInt(string input){
    int i = 0;

    if(input[i] == '-'){
        i++;
        //First while loop controls valid input
        while(input[i] != '\0'){
            if(input[i] < 49 || input [i] > 47){///Can't figure this out
                return INT_MAX;
            }
            i++;
        }
    }
    //Now to calculate result
    int result = 0;
    i = 0;
    if (input[i] == '-'){
        i++;
        while (input[i] != '\0'){
            result = (input[i] - 49) + (result * 10);
            i++;
        }
        result = result * (-1);
        return result;

    }
    else{
        while (input[i] != '\0'){
            result = (input[i] - 49) + (result * 10);
            i++;
        }
        return result;
    }
}


//////MAIN////////
int main(){
    string number;
    int actualNumber;
    int answer;

    cout << "This is my main function. Enter a string to evaluate" << endl;
    getline(cin, number);

    actualNumber = stringToInt(number);

    cout << actualNumber;
    cout << endl;



    return 0;
}

第二个工作空间无法使用上述方法,尽管我先尝试了它,但它要求我重新安装所有的gulp依赖项,然后运行npm audit fix。例如:

$rm -rf node_modules
$rm -rf package-lock.json
$npm cache clean
$npm install

希望这对某人有帮助。

答案 2 :(得分:2)

节点版本兼容问题,请尝试使用节点版本<= 9.11.2。

答案 3 :(得分:1)

我有同样的问题。删除node_modules并重新运行npm install,以重新安装package.json中列出的模块,对我有用。

答案 4 :(得分:1)

只需运行这两个命令。

  1. 删除node_modules文件夹

rm -r node_modules

  1. 并且仅安装本机依赖项。

npm安装本机

答案 5 :(得分:0)

我的系统:

  1. Windows 10
  2. 节点10.15.3

步骤:

  1. npm更新
  2. 我本地人
  3. npm我
  4. npm审核修复程序

需要订购。

通过命令“ npm update”更新后的软件包:

{ "name": "your name", "version": "0.1.0", "private": true, "dependencies": { "autoprefixer": "^7.2.6", "babel-core": "^6.26.3", "babel-loader": "^7.1.5", "babel-plugin-async-to-promises": "^1.0.5", "babel-preset-es2015": "^6.24.1", "bootstrap": "v4.0.0-beta", "chartist-webpack": "^0.9.5-0", "d3": "^4.13.0", "d3.js": "^0.0.2-security", "datalist-polyfill": "^1.23.3", "dimple-js": "^2.1.4", "future-tabs": "^1.3.2", "gridstack": "0.2.6", "gulp": "^3.9.1", "gulp-cache-bust": "^1.4.0", "gulp-clean": "^0.3.2", "gulp-connect": "^5.7.0", "gulp-cssmin": "^0.2.0", "gulp-extname": "^0.2.2", "gulp-postcss": "^7.0.1", "gulp-rename": "^1.4.0", "gulp-sass": "^3.1.0", "gulp-sequence": "^0.4.6", "gulp-sourcemaps": "^2.6.5", "ionicons": "^3.0.0", "jquery": "^3.3.1", "jquery-ui": "^1.12.1", "jquery-ui-touch-punch": "^0.2.3", "lodash": "^4.17.11", "md5": "^2.2.1", "moment": "^2.24.0", "natives": "^1.1.6", "postcss-flexbugs-fixes": "^2.0.0", "promise-polyfill": "6.0.2", "semaphore-async-await": "^1.5.1", "url-search-params-polyfill": "^2.0.3", "vanilla-modal": "^1.6.5", "webpack": "^3.12.0", "webpack-stream": "^4.0.3", "whatwg-fetch": "^2.0.4" } }

答案 6 :(得分:0)

gulp我也面临着类似的问题

gulp build[30580]: c:\ws\src\node_contextify.cc:635: Assertion `args[1]->IsString()' failed. 1: 00007FF6F86BC6AA v8::internal::GCIdleTimeHandler::GCIdleTimeHandler+4506

npm install natives解决了windows 64

中的问题

答案 7 :(得分:0)

使用节点 v10.16.0

npm install natives

npm audit fix

答案 8 :(得分:0)

npm(不是纱线)解决方案

  1. 更新您的npm软件包
  2. npm rebuild //安装也可能起作用吗?
  3. 您可能会收到有关“平行”的新错误
  4. 遵循此指南(而非我的指南):https://timonweb.com/javascript/how-to-fix-referenceerror-primordials-is-not-defined-error/

为什么? Gulp v3 + Node v12彼此不兼容。为了解决此问题,请勿尝试更新到Gulp v4,因为有重大更改(除非您想重写代码)。不要降级Node,因为它不可扩展,并且您可能会遇到其他问题。您最终必须升级

答案 9 :(得分:-1)

按照以下步骤解决问题:

只需删除node_modules目录和package-lock.json。 然后运行npm install --unsafe-perm=true

答案 10 :(得分:-1)

npm install natives

这适用于Windows 10 64位