我正在使用Vagrant在网站上开展工作。直到今天,我一直在我的机器上使用本地安装的grunt(我的本地~/dev/websites/[project]
文件夹映射到Vagrant虚拟机中的/websites/[project]
),它运行正常。我终于在我的Vagrant vm中安装了node,npm和grunt,这样我就可以在vm中运行grunt dev
个任务,而不是我自己的系统。我的Gruntfile.js
包含此部分,呼叫grunt-imagine
:
sprites: {
main: {
src: ['<%= config.path.sprites %>/*.png'],
css: '<%= config.path.sass %>/components/_sprites.scss',
map: '<%= config.path.spritesbuild %>/sprites.png',
output: 'scss',
dimensions: true,
classPrefix: 'sprite',
}
}
很棒......当我从本地计算机上运行grunt时。当我从流浪汉VM中运行时,我收到此错误:
Running "sprites:main" (sprites) task
[D] Task source: /websites/[project]/node_modules/grunt-imagine/tasks/sprites.js
Verifying property sprites.main exists in config...OK
Files: public/assets/sprites/1.png, public/assets/sprites/2.png, public/assets/sprites/3.png, public/assets/sprites/4.png
Fatal error: Unexpected end of input
这是调试和详细标志。请记住 vm中的任务文件与vm 之外的文件完全相同,这告诉我某些内容可能未正确安装。但是grunt应该使用所有相同的文件,对吧?为什么这可以在我的本地机器上工作,但不能在我的开发环境中工作?
ETA:如果它很重要(可能)我的本地机器正在运行OS X Yosemite,我的Vagrant开发盒就是Debian Wheezy。 Mac和Linux之间的二进制问题?