Node.js 如何设置旧空间的最大大小,以便在NativeScript';在OSX上运行的s与代码扩展?
我试过:Node.js 如何设置旧空间的最大大小,以便在NativeScript';在OSX上运行的s与代码扩展?,node.js,webpack,visual-studio-code,nativescript,Node.js,Webpack,Visual Studio Code,Nativescript,我试过: 在VS代码的bash提示符中执行export NODE_OPTIONS=“--max old space size=4096” 在系统bash提示符中执行导出节点选项=“--max old space size=4096” 将其添加到我的用户的.bashrc文件并重新启动 针对项目安装并运行 似乎什么都不管用;如果项目超过一定大小,在Mac上使用VS代码进行调试似乎是不可能的。我总是以堆限制分配失败附近的无效标记压缩而告终。它可以从bash运行,但不能从VS代码运行 有人有什么想法
- 在VS代码的bash提示符中执行
export NODE_OPTIONS=“--max old space size=4096”
- 在系统bash提示符中执行导出节点选项=“--max old space size=4096”
- 将其添加到我的用户的
文件并重新启动.bashrc
- 针对项目安装并运行
无效标记压缩而告终。它可以从bash运行,但不能从VS代码运行
有人有什么想法吗?我找到了一种方法让它工作起来,我想我会把它记录在这里,以方便其他人
我不得不修补一个黑客,这当然可以使更优雅(我将尝试实现并提交一份公关)
在中,我修改了以下方法,将NODE\u选项
环境变量添加到NODE
的每个派生中:
public executeSync(args: string[], cwd: string): string {
args.unshift('--analyticsClient', 'VSCode');
const command: string = `${this._path} ${args.join(' ')}`;
let env = process.env;
env["NODE_OPTIONS"] = "--max-old-space-size=4096";
this._logger.log(`[NativeScriptCli] execute: ${command}`);
return execSync(command, { encoding: 'utf8', cwd, shell: this._shellPath, env: env }).toString().trim();
}
public execute(args: string[], cwd: string): ChildProcess {
args.unshift('--analyticsClient', 'VSCode');
const command: string = `${this._path} ${args.join(' ')}`;
this._logger.log(`[NativeScriptCli] execute: ${command}`);
let env = process.env;
env["NODE_OPTIONS"] = "--max-old-space-size=4096";
const options = { cwd, shell: this._shellPath, env: env };
const child: ChildProcess = spawn(this._path, args, options);
child.stdout.setEncoding('utf8');
child.stderr.setEncoding('utf8');
return child;
}
在我的Mac电脑上安装了这个黑客版本后,该应用程序现在成功地在VS code
中构建。我遇到了同样的问题,你可以归结为。Get ChildItem-Path Env:powershell中的NODE_OPTIONS返回NODE_OPTIONS--max_old_space_size=8192,在vscode中返回“Get ChildItem:找不到路径‘NODE_OPTIONS’,因为它不存在。”