无法使用Grunt安装Bower组件 - “对path.join的参数必须是字符串” [英] Can't install Bower components using Grunt - "Arguments to path.join must be strings"
问题描述
我遇到使用我的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,
$
$ bnpm 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屋!