找不到本地gulp(尝试运行:npm install gulp)


84

我创建了一个webapp-module-storage具有以下定义的模块():

package.json

{
  "dependencies": {
    ...
  },
  "devDependencies": {
    "gulp": "^3.9.1",
    ...
  },
  "name": "webapp-module-storage",
  "scripts": {
    "postinstall": "gulp build",
    "test": "gulp test"
  }
}

我以为我可以在安装以下模块时在另一个模块中使用我的模块:

  • npm install github:myorg/webapp-module-storage#master

但是,当我安装模块时,出现此错误:

找不到本地口

尝试运行:npm install gulp

屏幕截图

在此处输入图片说明

我的理解是,它gulp与模块一起提供,因为我在其中声明了它,devDependencies但看起来我的npm postinstall脚本找不到gulp

我想念什么吗?



1
npm i gulp -D在文件夹项目中执行。注意:gulp4可能会在旧项目中引起问题,对于安装特定版本,请使用以下命令:npm i gulp@3.9.1 -D(ps -Dfor devDependencies)
Guilherme Nascimento

Answers:


181

尝试npm link gulp在您的应用程序目录中运行(以创建指向全局安装的Gulp模块的本地链接)。


Laravel /宅基地用户在这里。上面的命令对我不起作用,但是npm link gulp --no-bin-links有效。
Lpgfmk

7
为了阐明这一点,npm link [module]请在当前路径下创建从[模块]的全局安装文件夹到./node_modules/ [模块]的符号链接(不npm link带名称链接包,请参见手册页
techturbulence

22

尝试先安装依赖项:

npm install

如果仍然不起作用,请全局安装gulp:

npm install -g gulp

如果您发现安装问题。在npm之前输入sudo

如果您需要更多有关为何在全球和本地需要吞咽的信息,请阅读答案


1
Gulp已在全球安装:[17:51:24] CLI version 1.2.1
Benny Neugebauer

实际上在应用程序中没有使用我的模块。但是我认为它会抓住gulp模块或全局安装的gulp的路径。
Benny Neugebauer

1
似乎它正在搜索项目中的本地gulp。如何在项目内部本地安装?
塞巴斯蒂安·萨拉曼卡

13

我已经尝试了所有提到的解决方案。最后,我意识到我使用gulp的位置上缺少gulpfile.js文件,因此能够解决该问题。将gulpfile.js放在执行gulp的文件夹中后,它对我有用。


0

npm link gulp --no-bin-links
运行这个

在其中npm link gulp创建指向全局安装的gulp模块的本地链接,并使用--no-bin-links参数将阻止npm为程序包可能包含的任何二进制文件创建符号链接。

您无法将符号链接转换为Windows共享上的同步文件夹,因此您需要使用“ --no-bin-links”。

将其用于任何不支持符号链接的文件系统。

符号链接,或符号链接,是“虚拟”的文件或文件夹,其引用位于其他地方的物理文件或文件夹,并内置于许多操作系统,包括Linux和Windows的一个重要特征。


你好!尽管这段代码可以解决问题,但包括解释如何以及为什么解决该问题的说明,确实可以帮助提高您的帖子质量,并可能导致更多的投票。请记住,您将来会为读者回答问题,而不仅仅是现在问的人。请编辑您的答案以添加说明,并指出适用的限制和假设。
Brian

谢谢@Brain指出:)。我已经编辑了。
Parikshit Singh

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.