npm install ember-cli最大调用堆栈大小超过

时间:2015-11-03 09:31:47

标签: node.js ember.js npm ember-cli npm-install

我在这个问题中遇到了类似的问题:Win 8.1, Vagrant, Chef, Ubuntu, Ember-cli, ember new "npm ERR! tar.unpack untar error /home/vagrant/.npm/"

我正在尝试使用新的ember-cli将旧的ember项目更新为2.1。 我在流浪服务器上运行我的项目。

我有节点(v.0.12.7),npm(3.3.10),凉亭(1.6.5) 安装了ember-cli -g(版本:1.13.8,节点:0.12.7,npm:2.13.4,os:linux x64)。

然而,每当我在ember init生成的项目上运行“npm install --no-bin-links”时,我都会收到以下错误:

51716 error tar.unpack untar error /home/vagrant/.npm/ember-cli/1.13.8/package.tgz
51717 verbose stack RangeError: Maximum call stack size exceeded
51717 verbose stack     at Array.filter (native)
51717 verbose stack     at /usr/lib/node_modules/npm/lib/install/actions.js:55:37
51717 verbose stack     at Array.forEach (native)
51717 verbose stack     at markAsFailed (/usr/lib/node_modules/npm/lib/install/actions.js:54:16)
51717 verbose stack     at /usr/lib/node_modules/npm/lib/install/actions.js:57:7
51717 verbose stack     at Array.forEach (native)
51717 verbose stack     at markAsFailed (/usr/lib/node_modules/npm/lib/install/actions.js:54:16)
51717 verbose stack     at /usr/lib/node_modules/npm/lib/install/actions.js:57:7
51717 verbose stack     at Array.forEach (native)
51717 verbose stack     at markAsFailed (/usr/lib/node_modules/npm/lib/install/actions.js:54:16)
51718 verbose cwd /at/Site/public/preview/EP
51719 error Linux 3.2.0-4-amd64
51720 error argv "node" "/usr/bin/npm" "i"
51721 error node v0.12.7
51722 error npm  v3.3.10
51723 error Maximum call stack size exceeded
51724 error If you need help, you may report this error at:
51724 error     <https://github.com/npm/npm/issues>
51725 verbose exit [ 1, true ]

这与npm的不同版本号(全局和ember-cli)有关,还是在我的流浪汉设置中?这个问题不是由Windows最大路径长度造成的,我已经检查过了。

修改

我尝试单独安装npm软件包而不是“npm install --no-bin-links”。唯一失败的是“npm install --no-bin-links ember-cli@1.13.8”。这些是我的package.json中的依赖项:

"broccoli-asset-rev": "^2.1.2",
"ember-cli": "1.13.8",
"ember-cli-app-version": "0.5.0",
"ember-cli-babel": "^5.1.3",
"ember-cli-content-security-policy": "0.4.0",
"ember-cli-dependency-checker": "^1.0.1",
"ember-cli-htmlbars": "0.7.9",
"ember-cli-htmlbars-inline-precompile": "^0.2.0",
"ember-cli-ic-ajax": "0.2.1",
"ember-cli-inject-live-reload": "^1.3.1",
"ember-cli-qunit": "^1.0.0",
"ember-cli-release": "0.2.3",
"ember-cli-sri": "^1.0.3",
"ember-cli-uglify": "^1.2.0",
"ember-data": "1.13.8",
"ember-disable-proxy-controllers": "^1.0.0",
"ember-export-application-global": "^1.0.3"

感谢您的时间

1 个答案:

答案 0 :(得分:1)

我已经解决了我的问题。

事实证明,我的文件夹安装在我的流浪汉的方式是如此之慢,它干扰了我的npm安装。 在我的vagrant文​​件中,文件夹的安装方式如下:

config.vm.synced_folder "../", "/at"

我已将其替换为:

config.vm.provision "shell", run: "always" do |s|
    s.inline = "sudo apt-get update
    sudo bash /vagrant/mountfolder.sh"
end

在我的流浪文件旁边,我放置了一个文件“mountfolder.sh”

# replace your username and password with for example: user, ****. Replace YOURSHARENAME with the name of your windows share 
# mountpoint checks if share is already mounted, prevents warning when provisioning
mountpoint -q /projects|| (mkdir /projects -p && apt-get -y install cifs-utils && mount -t cifs //192.168.255.1/YOURSHARENAME /projects --verbose -o 'user=dkdomain.intra\YOURUSERNAME,password=YOURPASSWORD,rw,uid=vagrant,gid=vagrant,file_mode=0777,dir_mode=0777')

用必要信息替换大写字母。