Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
未找到本地gulp(尝试运行:npm安装gulp)_Npm_Gulp_Npm Install_Post Install - Fatal编程技术网

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

未找到本地gulp(尝试运行:npm安装gulp),npm,gulp,npm-install,post-install,Npm,Gulp,Npm Install,Post Install,我创建了一个模块(webapp模块存储),它具有以下定义: package.json { "dependencies": { ... }, "devDependencies": { "gulp": "^3.9.1", ... }, "name": "webapp-module-storage", "scripts": { "postinstall": "gulp build", "test": "gulp test" } }

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

package.json

{
  "dependencies": {
    ...
  },
  "devDependencies": {
    "gulp": "^3.9.1",
    ...
  },
  "name": "webapp-module-storage",
  "scripts": {
    "postinstall": "gulp build",
    "test": "gulp test"
  }
}
我认为在安装模块时,我可以在另一个模块中使用我的模块:

  • npm安装github:myorg/webapp模块存储#master
但是,当我安装模块时,出现以下错误:

找不到局部吞咽

尝试运行:npm安装gulp

屏幕截图

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


我遗漏了什么吗?

请先尝试安装依赖项:

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

npm install -g gulp
如果安装时发现问题。在npm之前键入sudo


如果您需要有关为什么需要全局和本地gulp的更多信息,请阅读答案尝试在应用程序目录中运行
npm link gulp
(创建指向全局安装的gulp模块的本地链接)。

我已经尝试了所有提到的解决方案。最后,我意识到在我使用gulp的位置缺少gulpfile.js文件,从而解决了这个问题。将gulpfile.js放入我执行gulp的文件夹后,它对我起了作用。

npm link gulp——没有bin链接

运行这个

其中,
npm link gulp
创建一个指向全局安装的gulp模块的本地链接,
--无bin links
参数将阻止npm为包中可能包含的任何二进制文件创建符号链接

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

对于任何不支持符号链接的文件系统,都可以使用它

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

npm link gulp--force


使用此命令对我很有效。

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

npm一口
然后让您的脚本部分引用本地的吞咽,如下所示:

“脚本”:{
“安装后”:“/node_modules/.bin/gulp build”,
“测试”:“/node_modules/.bin/gulp测试”
}

Gulp是全局安装的:
[17:51:24]CLI版本1.2.1
实际上不在使用my module的应用程序中。但我认为它会从我的模块路径或我的全局安装的gulp中获取
gulp
。似乎它正在搜索您项目中的本地gulp。如何在本地安装它,在您的项目中?可能与文件夹项目中的Perform
npm i gulp-D
重复。注意:gulp4可能会在旧项目中导致问题,对于安装特定版本,请使用以下方式:
npmigulp@3.9.1-D
(ps
-D
用于devDependencies)这里是Laravel/homestead用户。上面的命令对我不起作用,但是
npm link gulp——没有bin链接
起作用。为了澄清,
npm link[module]
创建了一个符号链接,从[module]的全局安装文件夹到当前路径下的./node\u modules/[module](
npm link
w/o name links包,请参阅)你好!虽然这段代码可以解决这个问题,但如何以及为什么解决这个问题将真正有助于提高您的帖子质量,并可能导致更多的投票。请记住,你是在将来回答读者的问题,而不仅仅是现在提问的人。请在回答中添加解释,并说明适用的限制和假设。感谢@Brain指出:)。我已经编辑过了。我犯了同样的错误。我离我应该在的地方还有一个目录。如果您全速设置Express Generator环境,在根位置下有多个子应用程序,则很容易发生这种情况。我只是需要放慢脚步。