无法使用Grunt安装Bower组件 - "对path.join的参数必须是字符串"

时间:2015-11-07 01:57:43

标签: javascript node.js gruntjs bower bower-install

我在使用Gruntfile.js安装Bower组件时遇到问题。但是,我可以使用Bower命令安装Bower组件。

使用Bower命令安装Bower组件可以正常工作。

  

bower install

但是我无法使用Grunt命令

安装Bower组件
  

grunt bower:install

她的一些细节。

bower.json:

{
    "name": "test",
    "version": "0.0.2",
    "dependencies": {
        "angular": "latest",
        "bootstrap": "latest",
        "lodash": "latest",
        "font-awesome": "latest"
    },
    "devDependencies": {
        "angular-mocks": "latest"
    }
}

.bowerrc:

{
    "directory": "libs",
    "json": "bower.json"
}

Gruntfile.js:

bower: {
    install: {
        options: {
            install: true,
            copy: false,
            targetDir: './libs'
        }
    }
}

当我尝试使用Grunt安装Bower组件时,出现以下错误:

Running "bower:install" (bower) task
...
bower validate 1.3.15 against git://github.com/angular/bower-angular.git#*
bower new version for git://github.com/angular/bower-angular.git#*
bower resolve git://github.com/angular/bower-angular.git#*
Fatal error: Arguments to path.join must be strings

有没有人看到我的Gruntfile.js文件有什么问题?为什么我在使用Grunt安装Bower组件时出现此错误? 感谢。

1 个答案:

答案 0 :(得分:1)

以下是我的配置对我有用的方法:

bower: {
            install: {
                options: {
                    targetDir: bowerDir,
                    install: true,
                    cleanTargetDir: false,
                    cleanBowerDir: false,
                    bowerOptions: {}
                }
            }
        }

还要确保package.json文件中包含依赖项:

  "devDependencies": {
    "bower": "^1.3.1",
    "grunt": "^0.4.5",
    "grunt-bower-task": "^0.4.0",
    "grunt-cli": "^0.1.13",

也尝试运行这些命令:

npm install grunt-cli --save-dev
npm install grunt-bower-task --save-dev