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


52

আমি আমার উইন্ডোজ 8 হোস্টে ভিএমওয়্যার অতিথি হিসাবে উবুন্টু 12.10 চালাচ্ছি।

আমি আমার উইন্ডোজ 8 হোস্টে একটি ফোল্ডার ভাগ করেছি এবং এটি এন্ট্রিটি ব্যবহার করে শুরুতে উবুন্টু গেস্টে মাউন্ট করা হয়েছে fstab:

//myhost/work /work cifs credentials=/home/user/.smbcredentials,noserverino,nounix,uid=user,gid=user,file_mode=0777,dir_mode=0777 0 0 

শেয়ারটি ঠিকঠাক কাজ করে এবং এনজিএনএক্সের মতো কোনও ওয়েবসভার দ্বারা পরিবেশন করতে সক্ষম।

যাইহোক, আমি এনডিএম ব্যবহার করে নোড.জেএস প্যাকেজ ইনস্টল করার সময় সমস্যাগুলি উপস্থিত হতে পারে বলে মনে হয়, আমি এই জাতীয় ত্রুটিগুলি পেয়েছি:

user@ubuntu:/work/test$ sudo npm install grunt
npm http GET https://registry.npmjs.org/grunt
npm http 304 https://registry.npmjs.org/grunt
...
npm ERR! error rolling back Error: ENOTEMPTY, rmdir '/work/test/node_modules/grunt/node_modules/lodash'
npm ERR! error rolling back  grunt@0.4.1 { [Error: ENOTEMPTY, rmdir '/work/test/node_modules/grunt/node_modules/lodash']
npm ERR! error rolling back   errno: 53,
npm ERR! error rolling back   code: 'ENOTEMPTY',
npm ERR! error rolling back   path: '/work/test/node_modules/grunt/node_modules/lodash' }
npm ERR! Error: UNKNOWN, symlink '../which/bin/which'
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>

npm ERR! System Linux 3.5.0-26-generic
npm ERR! command "/usr/bin/node" "/usr/bin/npm" "install" "grunt"
npm ERR! cwd /work/test
npm ERR! node -v v0.10.0
npm ERR! npm -v 1.2.14
npm ERR! path ../which/bin/which
npm ERR! code UNKNOWN
npm ERR! errno -1
npm ERR! Error: ENOENT, chmod '/work/test/node_modules/grunt/node_modules/findup-sync/test/fixtures/aaa.txt'
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>

npm ERR! System Linux 3.5.0-26-generic
npm ERR! command "/usr/bin/node" "/usr/bin/npm" "install" "grunt"
npm ERR! cwd /work/test
npm ERR! node -v v0.10.0
npm ERR! npm -v 1.2.14
npm ERR! path /work/test/node_modules/grunt/node_modules/findup-sync/test/fixtures/aaa.txt
npm ERR! fstream_path /work/test/node_modules/grunt/node_modules/findup-sync/test/fixtures/aaa.txt
npm ERR! fstream_type File
npm ERR! fstream_class FileWriter
npm ERR! fstream_finish_call chmod
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! fstream_stack /usr/lib/node_modules/npm/node_modules/fstream/lib/writer.js:305:19
npm ERR! fstream_stack Object.oncomplete (fs.js:93:15)
npm ERR! Error: ENOENT, lstat '/work/test/node_modules/grunt/node_modules/minimatch/test/basic.js'
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>

npm ERR! System Linux 3.5.0-26-generic
npm ERR! command "/usr/bin/node" "/usr/bin/npm" "install" "grunt"
npm ERR! cwd /work/test
npm ERR! node -v v0.10.0
npm ERR! npm -v 1.2.14
npm ERR! path /work/test/node_modules/grunt/node_modules/minimatch/test/basic.js
npm ERR! fstream_path /work/test/node_modules/grunt/node_modules/minimatch/test/basic.js
npm ERR! fstream_type File
npm ERR! fstream_class FileWriter
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! fstream_stack /usr/lib/node_modules/npm/node_modules/fstream/lib/writer.js:284:26
npm ERR! fstream_stack Object.oncomplete (fs.js:93:15)
npm ERR! Error: ENOENT, lstat '/work/test/node_modules/grunt/node_modules/glob/test/00-setup.js'
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>
...
npm ERR! not ok code 0
user@ubuntu:/work/test$ 

এই সমস্যা সৃষ্টি হতে পারে? , আমি করতে পারেন কম্যান্ড লাইন থেকে chmod, rmdirকোনো সমস্যা ছাড়া উবুন্টু ব্যবহার করে অন্যান্য বিষয়ের মধ্যে।

উত্তর:


118

--no-bin-linksএটি আমার জন্য স্থির করে নিয়ে চলছে :

npm install --no-bin-links

--no-bin-linksnpmকোনও প্রতীকী লিঙ্ক তৈরি না করতে বলে । উইন্ডোজ শেয়ারে সিমলিঙ্কগুলি অনুবাদ করার কোনও উপায় নেই (আমার জ্ঞানের)।


15
আমি আশা করি আমি আপনাকে আরও 200 বার upvote করতে পারে। এটি উইন্ডোতে ভ্যাগ্র্যান্ট ব্যবহার সম্ভব করে তোলে।
ক্লিন্ট

1
এনপিএম ইনস্টল - নো-বিন-লিঙ্কটিও কাজ করে।
জেমিজেগ

2
দুর্দান্ত উত্তর! তবে গ্রান্টের কোনও প্যাকেজ.জসন ফাইলের "ডেভডিনিউপেন্ডেন্স" দিয়ে এই কাজ করার কোনও উপায় আছে কি? এটি দুর্দান্ত লাগবে :)
জেলমার

1
ধন্যবাদ! ভ্যাগ্র্যান্টের উচিত উইন্ডোজের তাদের অফিসিয়াল ডকুমেন্টেশনে এটি রাখা উচিত। আমার সমস্ত পয়েন্ট আপনার অন্তর্গত।
htxryan

1
ধন্যবাদ, আপনি আমার দিন বাঁচিয়েছেন, আমি একদিন থেকে লড়াই করে
যাচ্ছিলাম

6

এই পৃষ্ঠায় উইন্ডোতে কীভাবে সিমলিংক তৈরি করা যায় তা আমাকে অনেক সহায়তা করেছিল যা ব্যাখ্যা করে যে আপনার ভাগ করা ফোল্ডারটি লিখিতযোগ্য হলেও এটি ঘটবে।

এটি ঠিক করতে, আপনাকে ভার্চুয়ালবক্সে সিমলিংক বৈশিষ্ট্য সক্ষম করতে হবে।

সেন্টিমিডি প্রম্পটে চালান:

VBoxManage setextradata YOURVMNAME VBoxInternal2/SharedFoldersEnableSymlinksCreate/YOURSHAREFOLDERNAME 1

তারপরে যাচাই করুন:

VBoxManage getextradata YOURVMNAME enumerate

আপনার ব্যবহারকারী যদি প্রশাসক গোষ্ঠীর অন্তর্ভুক্ত হন তবে "প্রশাসক হিসাবে চালান" দিয়ে ভার্চুয়ালবক্স শুরু করুন!

ডিফল্টরূপে উইন্ডোজ 7 সুরক্ষা নীতিটি সম্ভাব্য সুরক্ষার হুমকিস্বরূপ সিমলিঙ্ক তৈরি করতে দেয় না। "সেকপল.এমএসসি" চালান এবং "স্থানীয় নীতি-ব্যবহারকারীর অধিকারের অ্যাসাইনমেন্টস" এ নেভিগেট করুন এবং আপনার ব্যবহারকারীকে "প্রতীকী লিঙ্কগুলি তৈরি করুন" এ যুক্ত করুন। আমি এটি চেষ্টা করি নি তবে এমন হতে পারে যে সেই পরে ভার্চুয়ালবক্সটি নিয়মিত ব্যবহারকারী হিসাবে চালানো যেতে পারে।


3

লরেমের সাথে সম্মত হন, তবে এটি যথেষ্ট নয়।

  1. উইন্ডোজে 'প্রশাসক হিসাবে' ভার্চুয়ালবক্স চালান।

  2. নিশ্চিত হয়ে নিন যে আপনি মৃত্যুদণ্ড কার্যকর করেছেন: VBoxManage.exe setextradata YOUR_VM BoxInternal2/SharedFoldersEnableSymlinksCreate/YOUR_SHARED_FOLDER 1

আপনার মানগুলির সাথে YOUR_VM এবং YOUR_SHARED_FOLDER প্রতিস্থাপন করুন। আপনি এর মাধ্যমে মানটি পরীক্ষা করতে পারেন:VBoxManage.exe getextradata boot2docker-vm enumerate

এই সমস্যাটি ট্র্যাক করার জন্য একটি ভার্চুয়ালবক্স বাগ রয়েছে


1

ভার্চুয়ালবক্সের নতুন সংস্করণগুলি অ্যাডমিনিস্ট্রেটর হিসাবে ভার্চুয়ালবক্স শুরু করলে (ডান ক্লিক করুন: প্রশাসক হিসাবে চালনা করুন) সিমলিংকের অনুমতি দেওয়া উচিত।

একই রকম ভ্যাব্রেন্ট বাক্সগুলিতে প্রযোজ্য: কেবলমাত্র আপনার সেমিডি.এক্স.এই / বিদ্যুৎ শেল প্রশাসক হিসাবে চালান এবং আপনি যেতে ভাল।


0

মধ্যে এই npm ইস্যু @drmyersii একটি দুর্দান্ত সমাধান দিতে, আমি শুধুমাত্র কপি এবং শুধুমাত্র উত্তর সংযোগ আছে না দেওয়াতে পেস্ট করব।

এখানে আসল সমাধানটি হ'ল আপনার ভ্যাগ্রান্টফাইলে উইন্ডোজ হোস্টগুলিতে সিমলিংকের অনুমতি দেওয়ার জন্য আপনার কনফিগারেশনটি সেট করা। এখানে একটি উদাহরণ রয়েছে (ধরে নিই যে আপনি এটি ভার্চুয়ালবক্সে চালাচ্ছেন):

config.vm.provider "virtualbox" do |v|
    v.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/vagrant", "1"]
end

এটি আমার পক্ষে দুর্দান্ত কাজ করেছে এবং এখন আমি স্কচবক্সের সাহায্যে ঝাল ব্যবহার করতে পারি


0

আমার জন্য এই উত্তরগুলির কোনওটিই কার্যকর হয়নি। আমি নিশ্চিত না কেন তবে আমি বিশ্বাস করি কারণ এটি আমার শেয়ারটি এনএফএস। সুতরাং প্রশাসক হিসাবে চলমান এবং সেক্টেস্ট্রাডাটা সেটিংস পরিবর্তন করার পরেও আমি এগুলিকে সিলেক্ট করার অনুমতি দিতে পারি নি। আমি গুল্প এবং অন্যান্য কিছু প্যাকেজ নিয়ে কাজ করছিলাম যাতে মনে হয় - নো-বিন-লিঙ্ক মান্য করতে সমস্যা রয়েছে। এটি এখনও কিছু প্রতীকী লিঙ্ক তৈরি করার চেষ্টা করেছিল এবং স্পষ্টতই ব্যর্থ হয়েছিল। অবশেষে গিথুবের এই থ্রেডটি আমাকে একটি "সমাধান" হিসাবে আঁকড়ে ধরেছিল, হ্যাকি যেমন হয় তেমন। আমি প্রকল্পটি আমার অ-ভাগ করা ফোল্ডারে "সহজভাবে" ইনস্টল করেছি এবং এটি আমার নোডিপথ হিসাবে সেট করেছি।

export NODE_PATH=/home/vagrant/PROJECTNAME/node_modules

ক্যাভ্যাটটি হ'ল এটি পুরো সার্ভার এবং প্যাকেজিং আপডেট / পরিবর্তন করার কার্যপ্রবাহকে প্রভাবিত করবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.