node.js - tutorial - npm install




এনপিএম বিশ্বব্যাপী ইনস্টল "মডিউল খুঁজে পাচ্ছি না" (11)

আমি একটি মডিউল লিখেছিলাম যা আমি একটি মুহূর্ত আগে npm এ প্রকাশিত (https://npmjs.org/package/wisp)

সুতরাং এটি কমান্ড লাইন থেকে জরিমানা ইনস্টল করে:

$ npm i -g wisp

যাইহোক, যখন আমি কমান্ড লাইন থেকে এটি চালাচ্ছি, আমি একটি ত্রুটি খুঁজে পেয়েছি যা আশাবাদী ইনস্টল করা নেই:

$ wisp 
Error: Cannot find module 'optimist'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:362:17)
    at require (module.js:378:17)
    at Object.<anonymous> (/usr/local/lib/node_modules/wisp/wisp:12:10)
    at Object.<anonymous> (/usr/local/lib/node_modules/wisp/wisp:96:4)
    at Module._compile (module.js:449:26)
    at Object.exports.run (/usr/local/lib/node_modules/coffee-script/lib/coffee-script/coffee-script.js:68:25)
    at compileScript (/usr/local/lib/node_modules/coffee-script/lib/coffee-script/command.js:135:29)
    at fs.stat.notSources.(anonymous function) (/usr/local/lib/node_modules/coffee-script/lib/coffee-script/command.js:110:18)

যাইহোক, আমি প্যাকেজ.জসন নির্ভরতা হিসাবে নির্দিষ্ট করেছি:

{
  "name": "wisp",
  "author": "Brendan Scarvell <[email protected]>",
  "version": "0.1.0",
  "description": "Global nodejs file server",
  "dependencies": {
    "optimist": "~0.3.4"
  },
  "repository": "git://github.com/tehlulz/wisp",
  "bin": {
    "wisp" : "./wisp"
  }
}

যে কেউ এই চলমান পেতে কি জানেন? আমি এটি bin অংশে এক্সিকিউটেবল যুক্ত করে এবং সেই ডিরেক্টরিতে নোড_মডুলগুলিকে খালি করে যুক্ত করে জানি। কোন সমাধান কিভাবে এই সমাধান করতে।


$ vim /etc/profile.d/nodejs.sh

NODE_PATH=/usr/lib/nodejs:/usr/lib/node_modules:/usr/share/javascript
export NODE_PATH="$NODE_PATH"

অন্য যে কেউ এই ক্ষেত্রে চলমান, আমার NODE_PATH তে এমন কোনও অবস্থানে ইনস্টল করার কারণে আমার এই সমস্যাটি ছিল।

[[email protected] ~]# which npm
/opt/bin/npm
[[email protected] ~]# which node
/opt/bin/node
[[email protected] ~]# echo $NODE_PATH

আমার NODE_PATH খালি ছিল, এবং npm install --global --verbose promised-io চলমান npm install --global --verbose promised-io দেখায় যে এটি /opt/lib/node_modules/promised-io ইনস্টল করা হয়েছে:

[[email protected] ~]# npm install --global --verbose promised-io
npm info it worked if it ends with ok
npm verb cli [ '/opt/bin/node',
npm verb cli   '/opt/bin/npm',
npm verb cli   'install',
npm verb cli   '--global',
npm verb cli   '--verbose',
npm verb cli   'promised-io' ]
npm info using [email protected].1.45
npm info using [email protected].8.4
[cut]
npm info build /opt/lib/node_modules/promised-io
npm verb from cache /opt/lib/node_modules/promised-io/package.json
npm verb linkStuff [ true, '/opt/lib/node_modules', true, '/opt/lib/node_modules' ]
[cut]

আমার স্ক্রিপ্ট require('promised-io/promise') ব্যর্থ হয় require('promised-io/promise') :

[[email protected] project]$ node buildscripts/stringsmerge.js 

module.js:340
    throw err;
          ^
Error: Cannot find module 'promised-io/promise'
    at Function.Module._resolveFilename (module.js:338:15)

আমি সম্ভবত configure --prefix=/opt ব্যবহার করে উৎস থেকে নোড এবং এনপিপি ইনস্টল করেছি। আমার কোন ধারণা নেই কেন এটি তাদের ইনস্টল করা মডিউল খুঁজে পেতে অসমর্থ করেছে। এখন ঠিক আছে NODE_PATH নির্দেশ করছে সঠিক ডিরেক্টরিতে:

export NODE_PATH=/opt/lib/node_modules

আমার require('promised-io/promise') এখন সফল।


আমি "আশাবাদী" মডিউল ত্রুটি পেয়েছিলাম এবং আমি এটি ঠিক করার জন্য "npm ইনস্টল" করেছি। যে ভুল অতীত গিয়েছিলাম।

https://github.com/mbloch/mapshaper/issues/12


আমি request-promise জন্য এই সমস্যা ছিল। আমার ক্ষেত্রে, প্রতিস্থাপন:

npm install request-promise --global

সঙ্গে

npm install request-promise --cli

কাজ ( source )

এছাড়াও, পরিবেশ পরিবর্তনশীল সেটিং করার চেষ্টা করুন

NODE_PATH=%AppData%\npm\node_modules

আমি আমার env ভেরিয়েবলগুলিতে C: \ Users \ {ব্যবহারকারীর নাম} \ AppData \ রোমিং \ npm যোগ করতে হয়েছিল এবং তারপরে আমি স্টাফ ইনস্টল করতে পারি।


আমি এই ত্রুটিটি Error: Cannot find module 'number-is-nan' পেয়েছি Error: Cannot find module 'number-is-nan' যেখানে মডিউলটি আসলে বিদ্যমান। এটি একটি খারাপ / অসম্পূর্ণ Node.js ইনস্টলেশন কারণে ছিল।

উইন্ডোজের জন্য, অন্যান্য উত্তর যেমন এটি সুপারিশ করে, আপনি একটি পরিষ্কার নোড ইনস্টলেশন প্রয়োজন :

  • আনইনস্টল Node.js
  • C:\Users\user\AppData\Roaming npm_cache দুটি ফোল্ডার npm_cache এবং npm_cache মুছুন
  • উইন্ডোজ পুনরায় আরম্ভ করুন এবং Node.js ইনস্টল করুন
  • npm init বা ( ডিফল্ট কনফিগারেশনের জন্য npm init --yes চালান)
  • NODE_PATH জন্য উইন্ডোজ পরিবেশ পরিবর্তনশীল সেট করুন। এই প্যাকেজ যেখানে আপনার প্যাকেজ ইনস্টল করা হয়। সম্ভবত এটি NODE_PATH = C:\Users\user\node_modules or C:\Users\user\AppData\Roaming\npm\node_modules
  • একটি নতুন cmd কনসোল শুরু করুন এবং npm সূক্ষ্ম কাজ করা উচিত

বিঃদ্রঃ :

Node.js পুনরায় ইনস্টল করার আগে শেষ পয়েন্টগুলি চেষ্টা করে দেখুন, এটি আপনাকে কিছু সময় বাঁচাতে পারে এবং আপনার সমস্ত প্যাকেজ পুনরায় ইনস্টল করতে এড়াতে পারে।


উইন্ডোজগুলিতে যদি আপনি কেবল একটি পরিচ্ছন্ন ইনস্টল করেন এবং আপনি এটি পেয়ে থাকেন তবে আপনার অ্যাপ্লিকেশনটি \ AppData \ রোমিংতে আপনার এনপিএম ক্যাশে ফুরিয়ে যেতে হবে



ডিফল্ট নোডের মাধ্যমে বিশ্বব্যাপী মডিউলগুলি লোড করার জন্য / usr / local / lib / node_module এর ভিতরে দেখায় না। http://nodejs.org/api/modules.html#modules_loading_from_the_global_folders ব্যাখ্যা করা মডিউল লোডিং পড়ুন

সুতরাং আপনাকে অবশ্যই 1) যুক্ত করতে হবে / usr / local / lib / node_module NODE_PATH এ যোগ করুন এবং এটি রপ্তানি করুন অথবা 2) ইনস্টল করা নোড মডিউলগুলি / usr / local / lib / node তে অনুলিপি করুন। (লোডিং মডিউল নোডের লিঙ্ক হিসাবে ব্যাখ্যা করা এই পথে অনুসন্ধান করবে এবং কাজ করবে)


প্রোগ শুরু করার জন্য এটি যুক্ত করুন (ম্যাক):

module.paths.push('/usr/local/lib/node_modules');


Ubuntu root অধীনে পরীক্ষা সার্ভার এক একই সমস্যা ছিল। তারপর useradd -m myuser ব্যবহার করে একটি নতুন ব্যবহারকারী তৈরি এবং useradd -m myuser সবকিছু ইনস্টল ( nvm , node , প্যাকেজ)। এখন এটা জরিমানা কাজ করছে।





npm