0

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

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

我有 node (v.0.12.7)、npm (3.3.10)、bower (1.6.5) 和 ember-cli -g (版本: 1.13.8, node: 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 中)有关,或者这与我的 vagrant 设置有关吗?这个问题不是由 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"

感谢您的时间

4

1 回答 1

1

我已经解决了我的问题。

事实证明,我的文件夹安装在我的 vagrant 中的方式太慢了,以至于干扰了我的 npm 安装。在我的流浪文件中,文件夹的安装方式如下:

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')

在哪里用必要的信息替换大写字母。

于 2015-11-04T10:05:32.610 回答