zsh:找不到命令:gulp

zsh: command not found: gulp

我已经用自制软件安装了 zsh 并将我的 shell 更改为它。我在尝试 运行 gulp 命令时遇到问题,该命令在我将 shell 更改为 zsh 之前有效。

zsh: command not found: gulp

一些研究让我相信它与我的路径有关。我的路径看起来像是我的 .zshrc 文件。

export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"

我想说我用brew安装了node。如何在不更改回默认 shell 的情况下将 gulp 与 zsh 一起使用?

感谢任何帮助。提前致谢!

$HOME/.node/bin 添加到您的路径变量,即将此行添加到您的 .zshrc:

export PATH="$HOME/.node/bin:$PATH"

通常没有必要——而且这可能是个坏主意——将 PATH 设置为 ~/.zshrc 中的字面值。这样做时,您可能会删除一些先前已添加到 PATH.

的目录

在你的情况下,因为它与另一个 shell 一起工作,我会首先尝试删除你设置 PATH 的行,因为 zsh 应该从它自己的父级继承 PATH环境。

如果那个不添加包含gulp的路径(可能是因为之前在你的老shell的配置中添加了),你可以添加

PATH=$HOME/.node/bin:$PATH

给你的 ~/.zshrc.

注意:由于PATH已经是环境的一部分,不需要再次导出。


一般来说,如果你想给PATH添加一些东西,你可以使用:

PATH="/something/new/bin:$PATH"

这将 /something/new/bin 添加到 PATH

如果你真的想从 PATH 中删除一些东西,这应该可以解决问题:

PATH=${${PATH//\/something\/old\/bin/}//::/:}

这会从 PATH 中删除所有出现的 /something/old/bin(斜杠需要转义),然后删除重复的冒号。

我做了 sudo npm install gulp -g,输入了我的密码,安装后对我有用。

作为工具的一部分:VivaGraphJS我这样做了并且成功了:

node_modules/.bin/gulp release

并得到:

[09:56:05] Using gulpfile ~/KynKon/Sandbox/VivaGraphJS/gulpfile.js
[09:56:05] Starting 'clean'...
[09:56:05] Starting 'build'...
[09:56:06] Finished 'build' after 923 ms
[09:56:06] Finished 'clean' after 1.03 s
[09:56:06] Starting 'release'...
[09:56:06] Finished 'release' after 59 ms
$ npm test

打开 .zshrs 文件并添加:

export PATH="$PATH:$HOME/.rvm/bin"
PATH=$PATH:/usr/local/bin
npm set prefix ~/.npm
PATH="$HOME/.npm/bin:$PATH"
PATH="./node_modules/.bin:$PATH"

虽然这是一个旧的 post,但上述解决方案中的 none 对我有效(Catalina 10.15.3)。所以基本上我的问题不是关于安装 gulp 但不是正确的 linking.

我 运行 的命令是:-

  1. npm 配置设置前缀 /usr/local

  2. npm link gulp

希望这对任何人都有帮助。

我意识到这是一个老问题,但我最近遇到了这个问题,并且这个错误的原因不同。

至少对我来说,我继承了一个使用 Gulp 3.9.1 的遗留项目,而我在我的机器上使用节点 12.x。

在这种情况下,我需要切换到 Node 10.0.0,删除 package-lock.json 和 node_modules,然后重新安装节点包和 运行 gulp.

步骤:

  • 删除包-lock.json、node_modules文件夹

  • 安装 NVM(管理节点版本):

    curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.35.2/install.sh | bash

  • 使用 NVM:

    导出NVM_DIR="$HOME/.nvm"

    [ -s "$NVM_DIR/nvm.sh" ] && 。 "$NVM_DIR/nvm.sh" # 这会加载 nvm

    [ -s "$NVM_DIR/bash_completion" ] && 。 "$NVM_DIR/bash_completion" # 这会加载 nvm bash_completion

  • 安装节点 10.0.0(适用于 Gulp 3.9.1):

    nvm 安装 10.0.0

  • 使用node.js10.0.0

    nvm 使用 10.0.0

  • 在我的例子中,重建节点-sass:

    npm 重建节点-sass

  • 那么,你可以使用gulp:

    gulp

希望这对某人有所帮助。

sudo npm link gulp 并提供密码解决了我的问题。

当您在项目文件夹中安装 gulp 时,要使用 gulp 它需要从安装路径 运行 开始,为此您需要在安装时提供路径gulp 在您的项目文件夹中。在上面的一个答案中,已经给出了安装 gulp 时如何设置路径。要解决此问题,还有另一种处理方法。你可以全局安装 gulp ,它可以从你的系统的任何地方访问,你所要做的就是执行以下命令:-

npm i --global gulp

此处 --global 是您为全局安装软件包而提供的参数。

i 代表安装