หลังจากติดตั้ง Gulp:“ ไม่พบคำสั่ง 'gulp'”


250

หลังจากติดตั้งgulp.jsผ่านทาง npm ฉันได้รับno command 'gulp' foundข้อผิดพลาดเมื่อเรียกใช้gulpคำสั่งจากไดเรกทอรีเดียวกันกับที่ติดตั้งไว้

เมื่อดูในnode_modules/.bin/ไดเรกทอรีฉันสามารถเห็นgulpไฟล์ปฏิบัติการได้

มีบางอย่างผิดปกติกับการติดตั้ง npm ของฉันหรือไม่


9
คุณติดตั้งทั่วโลกหรือไม่ npm install gulp -g
Mukesh Soni

2
ฉันมีปัญหาเดียวกัน ผมติดตั้งและทั่วโลกยังคงไม่มีอะไร ...
iluvpinkerton

ลิงค์นี้จะช่วยคุณได้อย่างแน่นอนstackoverflow.com/a/45707907/5222115
murtuza hussain

คำตอบ:


476

นั่นเป็นเรื่องปกติอย่างสมบูรณ์ หากคุณต้องการgulp-cliให้มีอยู่ในบรรทัดคำสั่งคุณจะต้องติดตั้งทั่วโลก

npm install --global gulp-cli

ดูการเรียนการสอนการติดตั้ง

นอกจากนี้ไม่ได้อยู่ในของคุณnode_modules/.bin/ $PATHแต่จะถูกเพิ่มโดยอัตโนมัติในเวลา npm เมื่อเรียกใช้สคริปต์ npm (ดูโพสต์บล็อกนี้เพื่อการอ้างอิง )

ดังนั้นคุณสามารถเพิ่มไฟล์scriptsของคุณpackage.json:

{
    "name": "your-app",
    "version": "0.0.1",
    "scripts": {
        "gulp": "gulp",
        "minify": "gulp minify"
    }
}

จากนั้นคุณสามารถเรียกใช้npm run gulpหรือnpm run minifyเพื่อเริ่มงานอึก


2
ฉันถูกขอให้รัน npm install -g gulp เป็น sudo (Root. Admin) แต่ถ้าฉันทำอย่างนั้นเมื่อฉันออกจากผู้ใช้ปกติจะไม่สามารถหาคำสั่ง gulp ได้ ฉันไม่คิดว่ามันจะดีในการหยั่งรากสำหรับทุกสิ่งที่ฉันอยากให้สภาพแวดล้อมของฉันทำงานได้ดี ดังนั้นใคร ๆ ก็รู้ว่าสิ่งใดที่ทำให้เกิดปัญหานี้ได้โปรด ..
ลง

ฉันเดาว่าทั้งหมดขึ้นอยู่กับวิธี / โหนดที่ติดตั้ง เมื่อใช้github.com/creationix/nvmคุณไม่จำเป็นต้องรูทเพื่อติดตั้ง libs ทั่วโลก
Brian Clozel

ฉันคิดว่าฉันใช้ตัวติดตั้งบน mac OSX เพื่อติดตั้ง nodejs.org ฉันไม่รู้ความแตกต่างระหว่าง nodejs และ node @ £ $ @
ลง

3
โปรดทราบว่าอึกตัวเองไม่ได้เป็นแพคเกจทั่วโลกอีกต่อไป แต่ global-cli คือ (npm -i -g gulp-cli) และต้องถอนการติดตั้ง gulp ทั่วโลกเสียก่อน!
Ricardo Magalhães

14

ฉันแก้ไขปัญหาโดยไม่ต้องติดตั้งโหนดใหม่โดยใช้คำสั่งด้านล่าง:

$ npm uninstall --global gulp gulp-cli
$ rm /usr/local/share/man/man1/gulp.1
$ npm install --global gulp-cli

1
รุ่นที่ได้รับการปรับปรุงเล็กน้อยนี้ใช้งานได้สำหรับฉันเนื่องจากฉันใช้ NVM ในการจัดการสภาพแวดล้อมของโหนด:$ npm uninstall -g gulp gulp-cli $ rm /Users/[usrName]/.nvm/versions/node/[nodeVersion]/share/man/man1/gulp.1 $ npm install -g gulp-cli
JustJen

12

ฉันมีปัญหาเดียวกันจริง ๆ

ลิงก์นี้น่าจะเป็นการคาดเดาที่ดีที่สุดของฉัน:

nodejs vs node บน Ubuntu 12.04

ฉันทำอย่างนั้นเพื่อแก้ไขปัญหาของฉัน:

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

8
คุณต้องมีsudo ln -s /usr/bin/nodejs /usr/bin/nodeเนื่องจากแอพ / แพ็คเกจจำนวนมากมองหาที่นั่น
เซท

1
ln -s [target] [name|directory]คำสั่งสร้างการเชื่อมโยงสัญลักษณ์ ( "นามแฝง" หรือ "ทางลัด") ดูlinuxcommand.org/man_pages/ln1.html
กำหนด

ยังคงไม่ทำงานที่นี่ ... ชายฉันคิดว่านี่เป็นเรื่องเล็กน้อย แต่ลิงค์นี้จากหน้า SO อื่นได้รับคำตอบที่ถูกต้อง เพียงเรียกใช้ภายในstackoverflow.com/questions/36457377/…
swdev


3

หากยังไม่ได้รับการแก้ไขให้ลองเพิ่มลงในpackage.jsสคริปต์ของคุณ

"scripts": { "gulp": "gulp" },

และรันnpm run gulp มันจะ runt gulp สคริปต์จาก gulpfile.js


1

การติดตั้งบน Mac - Sierra - หลังจากความพยายามที่ล้มเหลวหลายครั้งในการติดตั้งและเรียกใช้อึกทั่วโลกผ่านทางบรรทัดคำสั่งโดยใช้คำแนะนำที่แตกต่างกันฉันพบว่าฉันเพิ่มสิ่งนี้ลงในเส้นทางของฉันและใช้งานได้:

export PATH=/usr/local/Cellar/node/7.6.0/libexec/npm/bin/:$PATH

ฉันได้รับเส้นทางนั้นจากเอาท์พุทข้อความเมื่อติดตั้งอึก



0

ฉันใช้งาน lubuntu 19.10

$PATHผมเคยใช้การรวมกันของคำตอบก่อนและไม่ได้ปรับแต่ง

  1. npm uninstall --global gulp gulp-cli สิ่งนี้จะลบแพ็กเกจใด ๆ หากมีอยู่แล้ว
  2. sudo npm install --global gulp-cli ติดตั้งใหม่ในฐานะผู้ใช้รูท

หากคุณต้องการคัดลอกและวาง

npm uninstall --global gulp gulp-cli && sudo npm install --global gulp-cli 

ควรทำงาน

ฉันคิดว่า--globalมันไม่จำเป็นที่นี่เพราะมันติดตั้งโดยใช้sudoแต่ฉันใช้มันในกรณี


0

ในกรณีของฉันมีปัญหาเท่านั้นให้ใส่ "gulp": "gulp" ในส่วนสคริปต์ของ package.json แล้วใช้คำสั่ง npm run gulp

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.