安装Gulp后:"没有命令'gulp'发现"

And*_*gan 231 javascript node.js npm gulp

通过npm 安装gulp.js后,从安装它的同一目录no command 'gulp' found运行gulp命令时收到错误.

node_modules/.bin/目录下查看时,我可以在gulp那里看到可执行文件.

我的npm安装有问题吗?

Bri*_*zel 448

那是完全正常的.如果要gulp-cli在命令行上使用,则需要全局安装.

npm install --global gulp-cli
Run Code Online (Sandbox Code Playgroud)

请参阅安装说明.

此外,node_modules/.bin/不在你的$PATH.但是在运行npm脚本时它会被npm自动添加(请参阅此博客文章以供参考).

所以你可以添加scripts到你的package.json文件:

{
    "name": "your-app",
    "version": "0.0.1",
    "scripts": {
        "gulp": "gulp",
        "minify": "gulp minify"
    }
}
Run Code Online (Sandbox Code Playgroud)

然后,您可以运行npm run gulpnpm run minify启动gulp任务.

  • 请记住,gulp本身不再是一个全球性的包.相反,global-cli是(npm -i -g gulp-cli),实际上应该首先卸载全局gulp! (3认同)
  • 我被要求运行npm install -g gulp作为sudo(Root.管理员),但如果我这样做,那么当我退出普通用户时,它无法找到gulp命令.我不认为保持根本的好,我宁愿让我的环境正常工作.所以任何人都知道什么可能导致这个问题.. (2认同)

bin*_*inz 14

我没有使用以下命令重新安装节点解决了这个问题:

$ npm uninstall --global gulp gulp-cli
$ rm /usr/local/share/man/man1/gulp.1
$ npm install --global gulp-cli
Run Code Online (Sandbox Code Playgroud)


小智 11

我实际上有同样的问题.

这个链接可能是我最好的猜测:

ubuntu 12.04上的nodejs vs node

我这样做是为了解决我的问题:

sudo apt-get --purge remove node 
sudo apt-get --purge remove nodejs 
sudo apt-get install nodejs
sudo ln -s /usr/bin/nodejs /usr/bin/node
Run Code Online (Sandbox Code Playgroud)

  • 你还需要`sudo ln -s/usr/bin/nodejs/usr/bin/node`,因为那里有很多应用/包. (8认同)

Yoh*_*hel 6

我解决了删除gulp并再次安装gulp-cli的问题:

rm /usr/local/bin/gulp
npm install -g gulp-cli
Run Code Online (Sandbox Code Playgroud)

  • 还需要使用`sudo` (2认同)