问题
I'm facing a similar issue found in this question: Win 8.1, Vagrant, Chef, Ubuntu, Ember-cli, ember new "npm ERR! tar.unpack untar error /home/vagrant/.npm/"
I'm trying to update an older ember project to 2.1 using the new ember-cli. I'm running my project on a vagrant server.
I have node (v.0.12.7), npm (3.3.10), bower (1.6.5) and ember-cli -g (version: 1.13.8, node: 0.12.7, npm: 2.13.4, os: linux x64) installed.
Yet, whenever I'm running "npm install --no-bin-links" on the project generated by ember init I get the following error:
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 ]
Is this related to the different version numbers of npm (globally and in ember-cli) or is this something in my vagrant setup? This problem isn't caused by the windows max path length, I've already checked.
EDIT
I've tried to install the npm packages separately instead of with "npm install --no-bin-links". The only one failing is "npm install --no-bin-links ember-cli@1.13.8". These are the dependencies within my 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"
Thank you for your time
回答1:
I've fixed my problem.
As it turns out, the way My folder was mounted in my vagrant was so slow it interfered with my npm install. In my vagrant file the folder was mounted like so:
config.vm.synced_folder "../", "/at"
I've replaced it with this:
config.vm.provision "shell", run: "always" do |s|
s.inline = "sudo apt-get update
sudo bash /vagrant/mountfolder.sh"
end
And next to my vagrant file I've placed a file "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')
Where you replace the capitals with the necessairy info.
来源:https://stackoverflow.com/questions/33495587/npm-install-ember-cli-maximum-call-stack-size-exceeded