ข้อผิดพลาด: ไม่พบโมดูล '../lib/utils/unsupported.js' ในขณะที่ใช้ Ionic


262

ฉันได้รับข้อความแสดงข้อผิดพลาดนี้เสมอเมื่อฉันเรียกใช้ "Ionic start project project":

ข้อความผิดพลาด

Running command - failed![ERROR] An error occurred while running npm install (exit code 1):

    module.js:471
        throw err;
        ^

    Error: Cannot find module '../lib/utils/unsupported.js'
        at Function.Module._resolveFilename (module.js:469:15)
        at Function.Module._load (module.js:417:25)
        at Module.require (module.js:497:17)
        at require (internal/module.js:20:19)
        at /usr/local/lib/node_modules/npm/bin/npm-cli.js:19:21
        at Object.<anonymous> (/usr/local/lib/node_modules/npm/bin/npm-cli.js:79:3)
        at Module._compile (module.js:570:32)
        at Object.Module._extensions..js (module.js:579:10)
        at Module.load (module.js:487:32)
        at tryModuleLoad (module.js:446:12)

เส้นทางสัมพัทธ์ผิด ..
Subburaj

ตรวจสอบเส้นทางใน. /bash_profile
Mohan Gopi

บน MacOS - ติดตั้งใหม่จาก nodejs.org ช่วยดู upvotes of stackoverflow.com/a/12313655/1497139
Wolfgang Fahl

คำตอบ:


774

ลองลบ/usr/local/lib/node_modules/npmและติดตั้งโหนดอีกครั้ง สิ่งนี้น่าจะใช้ได้

บน MacOS ด้วยHomebrew :

sudo rm -rf /usr/local/lib/node_modules/npm
brew reinstall node

1
หากใครต้องการไปที่นั่นผ่านตัวค้นหา: knowledge.autodesk.com/support/smoke/troubleshooting/caas/
......

13
หากคุณกำลังใช้ชงคุณสามารถใช้: brew unistall --force nodeและbrew install node
Nico

15
@Nico คำสั่งแรกมีการพิมพ์ผิด brew uninstall --force nodeการแก้ไขจะเป็น
Jayant Bhawal

11
ทำไมมันเกิดขึ้น
Gaurav Paliwal

4
หลังจากรันคำสั่งข้างต้นตอนนี้รับ >> -bash: / usr / local / bin / npm: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว
Tarun

81

ฉันทำตามคำตอบก่อนหน้านี้และโหนดที่ติดตั้งใหม่ แต่ฉันได้รับข้อผิดพลาดนี้

คำเตือน: ขั้นตอนหลังการติดตั้งไม่เสร็จสมบูรณ์คุณสามารถลองอีกครั้งโดยใช้ brew postinstall node

ดังนั้นฉันจึงใช้คำสั่งนี้

sudo chown -R $(whoami):admin /usr/local/lib/node_modules/

จากนั้นก็วิ่ง

brew postinstall node

หรือคุณสามารถเรียกใช้ sudo chown -R $ (whoami) $ (brew --prefix) / *
Pathfinder

27

ฉันได้รับข้อผิดพลาดที่คล้ายกันและตอนนี้มันทำงานได้

ก่อนอื่นตรวจสอบให้แน่ใจว่าคุณมีเวอร์ชันล่าสุด

brew update

ลบอินสแตนซ์ก่อนหน้าของโหนดของคุณ:

brew uninstall node

จากนั้นติดตั้งเวอร์ชันล่าสุดอีกครั้ง:

brew install node

จากนั้นตรวจสอบให้แน่ใจว่ามันเชื่อมโยงเข้ากับ / usr / local หากยังไม่ได้ คุณจะได้รับข้อผิดพลาดเพื่อแจ้งให้คุณทราบเพื่อทำตามขั้นตอนนี้

brew link --overwrite node 

รายละเอียดเพิ่มเติมเกี่ยวกับวิธีการติดตั้ง / อัพเกรดโหนดนอกจากนี้ยังมี


12
คุณสามารถใช้brew uninstall --ignore-dependencies nodeถ้าคุณมีyarnในระบบของคุณ
Sound Blaster

18

ใน Mac OS X (10.12.6) ฉันแก้ไขปัญหานี้โดยทำดังต่อไปนี้:

brew uninstall --force node
brew install node

ฉันมีข้อผิดพลาดในการบ่นว่าโหนดที่ทำการติดตั้งล้มเหลวและทำการรันซ้ำอีกครั้ง brew postinstall node

ฉันมีข้อผิดพลาด:

permission denied @ rb_sysopen /usr/local/lib/node_modules/npm/bin/npx

ฉันแก้ไขข้อผิดพลาดนั้นโดย:

sudo chown -R $(whoami):admin /usr/local/lib/node_modules

และตอนนี้ฉันไม่ได้รับข้อผิดพลาดอีกแล้ว


1
ฉันต้องทำซ้ำสองสามครั้งในโฟลเดอร์ต่าง ๆ ที่จำเป็นต้องสร้างหรือจำเป็นต้องเปลี่ยนความเป็นเจ้าของ (สำหรับผู้ใช้ของฉัน) ทุกครั้งที่ฉันเรียกใช้brew postinstall nodeเพื่อค้นหาปัญหาถัดไปแก้ไขให้ทำซ้ำ
ต. Kim Nguyen

9

หากคุณกำลังใช้ "n" ห้องสมุด @ https://github.com/tj/n ทำดังต่อไปนี้

  echo $NODE_PATH

หากเส้นทางของโหนดว่างเปล่า

sudo n latest    - sudo is optional depending on your system

หลังจากสลับรุ่น Node.js โดยใช้ n, npm อาจทำงานไม่ถูกต้อง

curl -0 -L https://npmjs.com/install.sh | sudo sh
echo NODE_PATH

คุณควรเห็น Node Path ของคุณตอนนี้ มิฉะนั้นอาจเป็นอย่างอื่น


8

อย่างที่ได้กล่าวไปก่อนหน้านี้

 sudo rm -rf /usr/local/lib/node_modules/npm
 brew uninstall --force node                
 brew install node

6

ลองใช้คำตอบการติดตั้ง Brew ทั้งหมดที่กล่าวมาแล้วข้างต้นแล้วไม่มีใครทำงานกับแล็ปท็อปของฉัน

วิธีการด้านล่างสามารถแก้ไขปัญหาของฉันได้

1) เรียกใช้คำสั่งต่อไปนี้:

sudo rm -rf /usr/local/lib/node_modules/npm
brew uninstall --force node      

2) จากนั้นไปที่เว็บไซต์ทางการของ Node.js https://nodejs.org/en/download/current/เพื่อดาวน์โหลดแพ็คเกจล่าสุดสำหรับการติดตั้งใหม่

3) เรียกใช้คำสั่ง npm ของคุณอีกครั้งซึ่งควรมีข้อผิดพลาดอีกต่อไป

วิธีนี้คือการทำงานในMacOS ซ้อมเวอร์ชัน 10.14.4



2

ใช่คุณควรติดตั้งโหนดอีกครั้ง:

sudo rm -rf /usr/local/lib/node_modules/npm
 brew uninstall --force node                
 brew install node

2

เพียงทำตามสามขั้นตอน

  1. ล้างnpmแคชแรง:

    npm cache clean -f

  2. ติดตั้งnแพคเกจทั่วโลกโดยใช้npm:

    npm install -g n

  3. ติดตั้งจากตัวเลือกใดก็ได้จากสามตัวเลือก:

    sudo n stable (get the stable version)

    sudo n latest (get the latest version of node)

    ค. sudo n x.x.x (get the specific version of node)


2

ข้อผิดพลาดCannot find module '../lib/utils/unsupported.js'ที่เกิดจากในrequire('../lib/utils/unsupported.js')./lib/node_modules/npm/bin/npm-cli.js

ตามnodejs requireเอกสาร../โมดูลที่ต้องการจะค้นหาเทียบกับไฟล์เหมือนจะเริ่มต้นด้วย

ดังนั้นถ้าเราใช้เส้นทางญาติ../lib/utils/unsupported.jsเริ่มต้นจากโมดูลที่จำเป็นต้องอยู่ใน./lib/node_modules/npm/bin/npm-cli.js ./lib/node_modules/npm/lib/utils/unsupported.jsหากไม่มีฉันเห็นสองตัวเลือก:

  • การติดตั้งเสียหายซึ่งในกรณีนี้คำตอบของ Vincent Ducastel ในการติดตั้งโหนดอาจทำงานได้
  • npmไม่มี symlink ./lib/node_modules/npm/bin/npm-cli.jsไป นี่คือสิ่งที่ทำให้เกิดข้อผิดพลาดในการตั้งค่าของฉัน หากคุณโทรnpmหาโดยทั่วไปจะพบว่ามันกำลังค้นหาอยู่ในไดเรกทอรีที่ระบุไว้ในPATHenv var ./binมันอาจจะยกตัวอย่างเช่นตั้งอยู่ใน อย่างไรก็ตามnpmใน./binไดเรกทอรีควรจะ symlink ./lib/node_modules/npm/bin/npm-cli.jsไปดังกล่าว หากไม่ใช่ symlink แต่มีรหัสโดยตรงอยู่ที่ไหนสักแห่งในกระบวนการติดตั้ง symlink ก็ถูกแทนที่ด้วยไฟล์ที่มันลิงค์ไป ในกรณีนี้มันควรจะเพียงพอที่จะสร้าง symlink ใหม่:cd ./bin; rm npm; ln -s npm ./lib/node_modules/npm/bin/npm-cli.js

คำตอบทั้งหมดที่แนะนำให้ตรวจสอบNODE_PATHหรือกำหนดค่าnpmrcควรละเว้นเนื่องจากสิ่งเหล่านี้จะไม่ถูกพิจารณาเมื่อค้นหาโมดูลที่ค่อนข้าง


1

ฉันได้รับข้อผิดพลาดนี้โดยการผสมวิธีการติดตั้ง / อัปเดต: โหนดที่ติดตั้งผ่านแพคเกจดาวน์โหลดจากเว็บไซต์และหลังจากนั้นฉันก็ใช้ Brew เพื่ออัปเดต

ฉันแก้ไขโดยการถอนการติดตั้งรุ่นชง:

ชงถอนการติดตั้ง - โหนดขึ้นอยู่กับการพึ่งพา

จากนั้นฉันกลับไปที่เว็บไซต์ของโหนดและดาวน์โหลดและติดตั้งผ่านตัวจัดการแพคเกจ: https://nodejs.org/en/download/ ด้วยเหตุผลบางประการไม่มีความพยายามในการติดตั้งผ่านทาง Brew อีกต่อไป


0

ในกรณีของฉันมันหายไป $ NODE_PATH:

NODE="/home/ubuntu/local/node" #here your user account after home
NODE_PATH="/usr/local/lib/node_modules" 
PATH="$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:$NODE/bin:$NODE/lib/node_modules"

หากต้องการตรวจสอบecho $NODE_PATHว่าว่างเปล่าหมายความว่าไม่ได้ตั้งค่าไว้ แนะนำให้เพิ่มลงใน. bashrc


0

ใน fedora 27 ฉันแก้ไขปัญหาด้วยการทำสิ่งนี้:

sudo rm -f  /usr/local/lib/node_modules/npm
sudo dnf reinstall nodejs

0

นี่เป็นวิดีโอและบล็อกเกี่ยวกับการลบโหนดออกจากระบบปฏิบัติการคอมพิวเตอร์ของคุณ มันเป็นวิธีที่แตกต่างกันของการกำจัดตามวิธีที่คุณติดตั้งโหนดในสถานที่แรก (ชงกับไฟล์ไบนารีดาวน์โหลดจากhttps://nodejs.org/en/

  • หากคุณติดตั้งโหนดด้วย Homebrew ดังนั้นการถอนการติดตั้งโหนดจะทำงานได้ ตรวจสอบว่าด้วยการรันnode -vคำสั่งในเทอร์มินัลของคุณ

  • มิฉะนั้นและถ้าคุณได้ติดตั้งไฟล์ไบนารีจากเว็บไซต์ของ nodeJSแล้วคุณจะต้องใช้คำสั่งนี้ใน terminal sudo rm -rf /usr/local/{bin/{node,npm},lib/node_modules/npm,lib/node,share/man/*/node.*}ของคุณ: ตรวจสอบอีกครั้งว่าการรันคำสั่ง node -v

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


2
ลิงก์ไปยังโซลูชันยินดีต้อนรับเพื่อสนับสนุนคำตอบ แต่คำตอบที่คุณโพสต์ควรมีอยู่ในตัวเองอย่างสมบูรณ์นั่นคือไม่ต้องการให้ผู้เยี่ยมชมคลิกไปยังไซต์อื่นซึ่งอาจมีเนื้อหาที่ไม่คาดคิดหรือเป็นอันตรายหรือไม่มีอยู่อีกต่อไป
tripleee

0

ใน MacOS ของฉัน (10.13.3) ผมได้รับมันแก้ไขได้หลังจากติดตั้งโหนดผู้จัดการรุ่น

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
source ~/.bashrc

0

กรณีนี้อาจเกิดขึ้นเมื่อnpm/libโฟลเดอร์ว่างเปล่าด้วยสาเหตุบางประการ (อาจเกิดขึ้นเนื่องจากปัญหาการอนุญาตในการใช้งานครั้งล่าสุด)

การติดตั้งใหม่ของโหนดสามารถแก้ปัญหาได้ (ตามที่ระบุไว้ในคำตอบอื่น ๆ ที่นี่) แต่ฉันขอแนะนำให้ใช้เครื่องมือที่ยอดเยี่ยมที่เรียกว่าnvm(Node Version Manager) ซึ่งสามารถจัดการได้หลายรุ่นnodeและnpm- ซึ่งส่วนใหญ่มีประโยชน์บนเครื่อง dev ที่มีมากกว่าหนึ่งโครงการต้องการโหนดที่แตกต่างกัน

เมื่อคุณติดตั้ง nvmข้อความนี้จะหายไปและคุณจะมีเวอร์ชันล่าสุดnodeและnpmใช้

หากต้องการดูรายการเวอร์ชันโหนดที่ติดตั้งในปัจจุบันใน nvm ของคุณให้รัน:

nvm list

ในการติดตั้งและใช้โหนดเวอร์ชันใหม่ให้รัน:

nvm install <node_version>

ตัวอย่างเช่นการติดตั้งโหนด 10.x รุ่นล่าสุดให้รัน:

nvm install 10

เพื่อเปลี่ยนเป็นเวอร์ชั่นที่ติดตั้งอยู่ให้รัน:

nvm use <node_version>

ในการสลับไปเป็นเวอร์ชันโหนดดั้งเดิมของระบบให้รัน:

nvm use system

หวังว่านี่จะช่วยได้

โชคดี!

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