2013-02-15 64 views
14

我想知道是否可以在没有安装grunt-cli的情况下运行grunt 0.4。*。如何运行grunt 0.4。* without grunt-cli

据我所知,grunt-cli寻找安装在我的项目目录中的node-modules中的grunt的版本,以便运行那个版本的grunt,但是......可以在没有安装grunt-cli的情况下运行grunt吗?怎么样?

在此先感谢!

+1

这里真正的问题是,为什么你想这样做? – 2013-02-20 14:27:49

+1

嗨!谢谢你的提问。我想到了两种情况:一种是从自动化脚本运行grunt,另一种是将整个系统签入存储库中,以便安装。另一个案例可能没有管理员权限来全局安装软件包。 – cromandini 2013-02-21 00:42:06

回答

15

尝试

node -e "require('grunt').cli();" 

,如果你在一个你可以用下面的命令做mac/unix

25

grunt-cli是一个非常少量的代码。如果我是你,我会在GitHub repository中查看它。这样你就会知道它做了什么,并且很容易做到这一点。

我已经运行它没有grunt-cli运气。

node -e "require('grunt').cli()" 

如果你想指定的任务,你可以做这样的:

node -e "var g = require('grunt'); g.cli.tasks = ['default']; g.cli()" 
+0

是啊!谢谢Allan,你的代码不能在我的mac上运行,但是进入REPL并运行'require('grunt').cli();'在命令行中工作。并在脚本中放置相同的代码行也起作用:) – cromandini 2013-02-21 23:52:36

+0

你将如何使用它来定位特定的任务?恩。 '咕噜默认'? – 2013-11-21 22:40:36

+0

@Nate更新了我的答案,它已经过测试并可用。 – 2013-11-25 10:57:14

0

您可以尝试从其他脚本:

var grunt = require('grunt'); 
grunt.cli(); 

这将查找grunt包并执行Gruntfile.js。