سؤال

لقد قمت مؤخرًا بتثبيت node.js على صندوق Linode جديد ، وأعتقد أنني في وضع غريب حيث لا يمكنني استخدامه require() لتحميل أي وحدات طرف ثالث.

لقد قمت بتثبيت npm وقد نجحت في تثبيت الوحدات النمطية عبر npm, ، لكن كلما حاولت ذلك require واحدة من الوحدات النمطية (أو مجرد بعض الكود الخاص بي في نفس الدليل) ، node.js throws و error قولها لا يمكن العثور على الوحدة.

أي أفكار حول سبب حدوث ذلك؟

إليك رسالة خطأ مثال:

root@li200-141:/home/mike# npm install sequelize
npm ERR! sudon't!
npm ERR! sudon't! Running npm as root is not recommended!
npm ERR! sudon't! Seriously, don't do this!
npm ERR! sudon't!
npm info it worked if it ends with ok
npm info version 0.2.2
npm info fetch http://registry.npmjs.org/sequelize/-/sequelize@0.4.2.tgz
npm info install sequelize@0.4.2
npm info activate sequelize@0.4.2
npm info build Success: sequelize@0.4.2
npm ok

root@li200-141:/home/mike# node
> var n = require('sequelize').Sequelize
Error: No such native module sequelize
    at requireNative (node.js:83:32)
    at cwdRequire (repl:27:10)
    at [object Context]:1:9
    at Interface.<anonymous> (repl:96:19)
    at Interface.emit (events:27:15)
    at Interface._ttyWrite (readline:295:12)
    at Interface.write (readline:132:30)
    at Stream.<anonymous> (repl:77:9)
    at Stream.emit (events:27:15)
    at IOWatcher.callback (net:489:16)
هل كانت مفيدة؟

المحلول

على ما يبدو ، هناك خطأ في العقدة V0.2.2 التي تمنع تتطلب من العمل بشكل صحيح من Repl.

حاول وضع الكود الخاص بك في ملف .js بدلاً من ذلك. التي عملت بالنسبة لي.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top