未找到本地gulp(尝试运行:npm安装大口)

qcbq4gxm  于 2022-11-14  发布在  Gulp
关注(0)|答案(7)|浏览(179)

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

软件包.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安装吞咽

屏幕截图

我的理解是,gulp是随我的模块一起提供的,因为我在devDependencies中声明了它,但看起来我的npm postinstall脚本找不到gulp
我错过了什么吗?

cnjp1d6j

cnjp1d6j1#

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

tyg4sfes

tyg4sfes2#

请先尝试安装依赖项:

npm install

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

npm install -g gulp

如果在安装时发现问题,请在npm前键入sudo
如果你需要更多关于为什么你需要全球和本地吞咽的信息,请阅读this答案

vohkndzv

vohkndzv3#

我尝试了所有提到的解决方案。最后我意识到gulpfile.js文件在我使用gulp的位置上丢失了。在将gulpfile. js放在我执行gulp的文件夹中后,它对我起作用了。

91zkwejq

91zkwejq4#

npm link gulp --no-bin-links
运行此
其中,npm link gulp创建了一个到全局安装的gulp模块的本地链接,而--no-bin-links参数将阻止npm为该包可能包含的任何二进制文件创建符号链接。
您不能将符号链接转换为Windows共享上的同步文件夹,因此您需要使用“--no-bin-links”来绕过它。
对于任何不支持符号链接的文件系统都可以使用它。

符号链接或符号链接是“虚拟”文件或文件夹,它们引用位于其他位置的物理文件或文件夹,并且是许多操作系统(包括Linux和Windows)内置的重要功能。

ncecgwcz

ncecgwcz5#

npm link gulp --force
使用此命令对我来说效果很好。

plicqrtu

plicqrtu6#

将Gulp放入项目的常规依赖项中:

npm i gulp

然后让脚本部分引用本地Gulp,如下所示:

"scripts": {
    "postinstall": "./node_modules/.bin/gulp build",
    "test": "./node_modules/.bin/gulp test"
  }
jecbmhm3

jecbmhm37#

我使用Visual Studio代码和带有Power Shell的终端也有这个问题。当我改变执行策略时,这个问题对我来说消失了。我从gulp获得关于这个解决方案的信息。在示例中的执行策略改变在图片中。

相关问题