无法使用Grunt安装Bower组件 - “对path.join的参数必须是字符串” [英] Can't install Bower components using Grunt - "Arguments to path.join must be strings"

查看:176
本文介绍了无法使用Grunt安装Bower组件 - “对path.join的参数必须是字符串”的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我遇到使用我的Gruntfile.js安装Bower组件的问题。我可以使用Bower命令安装Bower组件。



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


bower install

我不能使用Grunt命令安装Bower组件


grunt bower:install


她的一些细节。 b
$ b 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:



< $ p $ b安装:{
安装:{
安装:true,
复制:false,
targetDir: './libs'
}
}
}

当我尝试使用Grunt安装Bower组件,我得到以下错误:

$ p $ 运行bower:install(bower)任务
...
bower验证1.3.15对git://github.com/angular/bower-angular.git#*
为git创建新版本://github.com/angular /bower-angular.git#*
bower resolve git://github.com/angular/bower-angular.git#*
致命错误:path.join的参数必须是字符串

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

解决方案

这里是我的配置,它适合我:

  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-任务:^ 0.4.0,
grunt-cli:^ 0.1.13,


$
$ b

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


I'm having issues installing Bower components using my Gruntfile.js. I can however install the Bower components fine using Bower command.

Installing Bower components using Bower command works fine.

bower install

I cannot however install Bower components using Grunt command

grunt bower:install

Hers's some details.

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

When I try to install Bower components using Grunt, I get the following errors:

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

Does anyone see what is wrong with my Gruntfile.js file and why I get this error when installing Bower components using Grunt? Thanks.

解决方案

Here's how I have my configuration which is working for me:

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

Also make sure you have the dependencies in your package.json file:

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

also try running these commands:

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

这篇关于无法使用Grunt安装Bower组件 - “对path.join的参数必须是字符串”的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆