如果 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的主要内容,如果未能解决你的问题,请参考以下文章