如果 gulp 安装在与 gulpfile.js 不同的文件夹中(node_modules),你如何运行 gulp

Posted

技术标签:

【中文标题】如果 gulp 安装在与 gulpfile.js 不同的文件夹中(node_modules),你如何运行 gulp【英文标题】:How do you run gulp if gulp is installed(node_modules) in different folder than gulpfile.js 【发布时间】:2015-11-22 11:52:11 【问题描述】:

我在一个目录中有 gulpfile.js,在另一个目录中有 node_modules。 当我运行 gulp 时,我得到了错误 - '在'..(目录)中找不到本地 gulp.. 尝试运行:npm install gulp'

问题是 - 我无法在 gulpfile.js 的目录中安装 gulp,所以我需要一种方法来告诉 gulp 引用我安装了 gulp 的另一个目录。

【问题讨论】:

【参考方案1】:

如果你不想的话,你不需要全局安装 gulp。你可以做的是运行你的 gulp 可执行文件(从你的 node_modules),然后使用 --gulpfile 参数传入你的 gulpfile 的位置。此外,如果您想控制 gulp 的运行位置,请使用 --cwd 参数。

这是一个例子:

 <NODE_MODULES DIR>/gulp/bin/gulp.js --gulpfile <GULP FILE> --cwd <SOME DIR>

【讨论】:

【参考方案2】:

无需全局安装 gulp。 首先安装 gulp(最好在开发依赖项上)

npm install gulp --save-dev

然后在 package.json 中添加你要运行的行

"scripts" : "gulp" : "gulp"

终于在命令行中使用

npm run gulp

npm 将使用节点模块中的二进制文件,无需全局安装或写下整个路径

【讨论】:

【参考方案3】:

你需要全局安装 gulp:

npm install -g gulp

这将允许您从任何目录中的命令行运行gulp

【讨论】:

您永远不需要全局安装任何东西。您可以如上所述编写 NPM 脚本,这会将本地 cli 工具放在路径上,或者制作实用程序别名,例如 alias gulp='$(npm bin)/gulp'【参考方案4】:

始终将node_modules 文件夹放在父目录中,然后将项目目录设为子/孙文件夹。

不要将node_modules文件夹放在任何子目录中

文件夹结构如下:

父母

└──node_modules

└─project_1

└─project_2

在任何子/大子目录gulp 都可以工作

【讨论】:

以上是关于如果 gulp 安装在与 gulpfile.js 不同的文件夹中(node_modules),你如何运行 gulp的主要内容,如果未能解决你的问题,请参考以下文章

gulp配置文件(gulpfile.js)

gulp学习-gulpfile

gulp的使用之gulpfile.js文件的配置

gulp压缩js

gulp的使用安装

gulp 的使用