【发布时间】:2015-11-22 11:52:11
【问题描述】:
我在一个目录中有 gulpfile.js,在另一个目录中有 node_modules。 当我运行 gulp 时,我得到了错误 - '在'..(目录)中找不到本地 gulp.. 尝试运行:npm install gulp'
问题是 - 我无法在 gulpfile.js 的目录中安装 gulp,所以我需要一种方法来告诉 gulp 引用我安装了 gulp 的另一个目录。
【问题讨论】:
我在一个目录中有 gulpfile.js,在另一个目录中有 node_modules。 当我运行 gulp 时,我得到了错误 - '在'..(目录)中找不到本地 gulp.. 尝试运行:npm install gulp'
问题是 - 我无法在 gulpfile.js 的目录中安装 gulp,所以我需要一种方法来告诉 gulp 引用我安装了 gulp 的另一个目录。
【问题讨论】:
如果你不想的话,你不需要全局安装 gulp。你可以做的是运行你的 gulp 可执行文件(从你的 node_modules),然后使用 --gulpfile 参数传入你的 gulpfile 的位置。此外,如果您想控制 gulp 的运行位置,请使用 --cwd 参数。
这是一个例子:
<NODE_MODULES DIR>/gulp/bin/gulp.js --gulpfile <GULP FILE> --cwd <SOME DIR>
【讨论】:
无需全局安装 gulp。 首先安装 gulp(最好在开发依赖项上)
npm install gulp --save-dev
然后在 package.json 中添加你要运行的行
"scripts" : {
"gulp" : "gulp"}
}
终于在命令行中使用
npm run gulp
npm 将使用节点模块中的二进制文件,无需全局安装或写下整个路径
【讨论】:
你需要全局安装 gulp:
npm install -g gulp
这将允许您从任何目录中的命令行运行gulp。
【讨论】:
alias gulp='$(npm bin)/gulp'
始终将node_modules 文件夹放在父目录中,然后将项目目录设为子/孙文件夹。
不要将node_modules文件夹放在任何子目录中
文件夹结构如下:
父母
└──node_modules
└─project_1
└─project_2
在任何子/大子目录gulp 都可以工作
【讨论】: