node.js - tutorial - visual studio code




উইন্ডোজ 7 x64/VS2012 এ সংকলন প্রয়োজন যা নোড মডিউল ইনস্টল করতে পারবেন না (12)

আমি সংকলন প্রয়োজন যে মডিউল যে কোনো ইনস্টল করতে পারবেন না। তারা সব নিম্নলিখিত ত্রুটি সঙ্গে ব্যর্থ:

MSBUILD : error MSB3411: Could not load the Visual C++ component "VCBuild.exe". ...

আমার পরিবেশ:

  • উইন্ডোজ 7 এন্টারপ্রাইজ x64, সংস্করণ 6.1.7601
  • নোড x86 0.8.16
  • npm 1.2.0
  • নোড-জিপিপি 0.8.2
  • ভিজ্যুয়াল স্টুডিও 2012 এবং অসংখ্য প্যাকেজ

সম্পর্কিত পরিবেশ ভেরিয়েবল:

Path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShel l\v1.0;C:\Program Files\TortoiseGit\bin;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;C:\Program Files (x86)\Windows Kits\8.0\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;c:\tools;c:\tools\node

না অন্তর্ভুক্ত, LIB, LIBPATH, ইত্যাদি

আমি এই সমস্যাটির সংক্ষিপ্ত তদন্ত করেছি এবং নিচের সেটআপের সাথে ম্যানুয়াল সংকলন (সরাসরি VCBuild.exe এবং msbuild.exe কল করা) ম্যানুয়াল ক্লোনড জিটের জন্য সফল হয়েছে: //github.com/einaros/ws.git:

SET Configuration=Release
SET PATH=%ProgramFiles(x86)%\Microsoft Visual Studio 9.0\VC\vcpackages
SET PATH=%ProgramFiles(x86)%\Microsoft Visual Studio 11.0\VC\bin;%PATH%
SET PATH=%ProgramFiles(x86)%\Microsoft Visual Studio 11.0\Common7\IDE;%PATH%
SET PATH=%ProgramFiles(x86)%\Microsoft SDKs\Windows\v7.1A\Bin;%PATH%
SET PATH=%SystemRoot%\system32;%PATH%

SET INCLUDE=%ProgramFiles(x86)%\Microsoft Visual Studio 11.0\VC\include
SET INCLUDE=%ProgramFiles(x86)%\Microsoft SDKs\Windows\v7.1A\Include;%INCLUDE%

SET LIB=%ProgramFiles(x86)%\Microsoft SDKs\Windows\v7.1A\Lib
SET LIB=%ProgramFiles(x86)%\Microsoft Visual Studio 11.0\VC\lib;%LIB%

SET MSBUILD="%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\msbuild.exe"

VCBuild.exe C:\Tools\node\ws\build\bufferutil.vcproj "Release|Win32" /useenv
VCBuild.exe C:\Tools\node\ws\build\validation.vcproj "Release|Win32" /useenv
%MSBUILD% build/binding.sln /verbosity:diagnostic /nologo /p:Configuration=Release;Platform=Win32

আমি একই ভেরিয়েবলগুলির সাথে নোড-জিপিপি কল করার চেষ্টা করেছি এবং এটি ব্যর্থ হয়েছে:

C:\!> git clone https://github.com/einaros/ws.git
C:\!> cd ws
C:\!\ws>node-gyp configure
...
C:\!\ws>node-gyp build
gyp info it worked if it ends with ok
gyp info using node-[email protected].8.2
gyp info using [email protected].8.16 | win32 | ia32
gyp info spawn C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe
gyp info spawn args [ 'build/binding.sln',
gyp info spawn args   '/clp:Verbosity=minimal',
gyp info spawn args   '/nologo',
gyp info spawn args   '/p:Configuration=Release;Platform=Win32' ]
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
C:\Users\User\.node-gyp\0.8.16\deps\uv\include\uv.h(55): fatal error C1083: Cannot open include file: 'stdint.h': No such file or directory [C:\!\
ws\build\binding.sln]
C:\Users\User\.node-gyp\0.8.16\deps\uv\include\uv.h(55): fatal error C1083: Cannot open include file: 'stdint.h': No such file or directory [C:\!\
ws\build\binding.sln]
gyp ERR! build error
gyp ERR! stack Error: `C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (c:\Tools\node\node_modules\node-gyp\lib\build.js:255:23)
gyp ERR! stack     at ChildProcess.EventEmitter.emit (events.js:99:17)
gyp ERR! stack     at Process._handle.onexit (child_process.js:678:10)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "c:\\Tools\\node\\\\node.exe" "c:\\Tools\\node\\node_modules\\node-gyp\\bin\\node-gyp.js" "build"
gyp ERR! cwd C:\!\ws
gyp ERR! node -v v0.8.16
gyp ERR! node-gyp -v v0.8.2
gyp ERR! not ok

হয়তো আপনি এটা সম্পর্কে কিছু ধারনা আছে?

ধন্যবাদ।


  1. পাইথন ইনস্টল করুন 2.7 (3.x নয়)
  2. আপনার পরিবেশ পরিবর্তনশীল PATH vcbuild.exe ধারণকারী ডিরেক্টরিটিতে পাথ যুক্ত করুন
  3. যদি আপনার vcbuild.exe দরকার হয় vcbuild.exe এটি এখানে পান https://github.com/kin9puppy/vcbuildFixForNode

Node.js. এর জন্য একটি প্যাকেজ ইনস্টল করার চেষ্টা করার সময় আমারও একই সমস্যা ছিল। কিছু ব্যাপক গুগলিংয়ের পরে আমি এই ওয়াকট্রুটিটি খুঁজে পেয়েছি: https://github.com/TooTallNate/node-gyp/wiki/Visual-Studio-2010-Setup সেটআপ

যখন আমি এই পদক্ষেপগুলি অনুসরণ করি তখন আমি কোনও সমস্যা ছাড়াই "npm ইনস্টল" ব্যবহার করতে পারি।


cmd এ ভিজ্যুয়াল স্টুডিও পাথ সেট করুন আপনার সংস্করণটির উপর নির্ভর করে

Visual Studio 2010 (VS10): SET VS90COMNTOOLS=%VS100COMNTOOLS%

Visual Studio 2012 (VS11): SET VS90COMNTOOLS=%VS110COMNTOOLS%

Visual Studio 2013 (VS12): SET VS90COMNTOOLS=%VS120COMNTOOLS%

নোড-মাস্টার ( জিট থেকে ডাউনলোড করা মূল নড মডিউল) অ্যাডমিন সুবিধাগুলির সাথে vcbuild.bat চালান। vcbild.bat উইন্ডোজ সম্পর্কিত নির্ভরশীলতা তৈরি করবে এবং ফোল্ডার নাম যোগ করবে নোড-মাস্টারের মধ্যে প্রকাশ

এটি রান একবার এটি ফাইল নির্মাণ সময় লাগবে।

তারপর ডিরেক্টরির মধ্যে .gyp ফাইল কমান্ড ব্যবহার করুন

node-gyp rebuild --msvs_version=2012 --nodedir="Dive Name:\path to node-master\node-master"

এই সব নির্ভরতা নির্মাণ করা হবে।


আপডেট v3: https://www.npmjs.com/package/windows-build-tools

npm ইনস্টল - গ্লোবাল উইন্ডোজ-বিল্ড-সরঞ্জাম

ডাউনলোড এবং ইনস্টল করুন ভিসুয়াল সি ++ বিল্ড সরঞ্জাম 2015, মাইক্রোসফ্ট দ্বারা বিনামূল্যে প্রদান। এই সরঞ্জাম জনপ্রিয় নেটিভ মডিউল কম্পাইল করার প্রয়োজন হয়। এটি পাইথন 2.7, আপনার মেশিন এবং এনপিএম যথাযথভাবে কনফিগার করে ইনস্টল করবে।

আপডেট v2:

নোড-জিপিপি উইন্ডোজের জন্য হাও-টু অন্তর্ভুক্ত করতে তাদের রিডমে আপডেট করেছে

মূল:

সম্পূর্ণ চাক্ষুষ স্টুডিওর জন্য কোন প্রয়োজন নেই, আপনি শুধুমাত্র বিল্ড সরঞ্জাম ডাউনলোড করতে পারেন

মাইক্রোসফ্ট বিল্ড সরঞ্জাম 2013: http://www.microsoft.com/en-us/download/details.aspx?id=40760

2013 সংস্করণ ব্যবহার করার জন্য বিশ্বব্যাপী পতাকা সেট করতে cmd চালান:

npm config set msvs_version 2013 --global

এই সব পরে ফিরে স্বাভাবিক হতে হবে এবং আপনার npm ইনস্টল / নোড-জিপিপি পুনর্নির্মাণ কাজ করবে


আমারও একই ইস্যু ছিল এবং উপরে সমস্ত জাদু কাজ করেছিল, আমার জন্য যাদুটি একমাত্র জিনিস হল https://github.com/atom/atom/issues/2435

"কারণ --msvs_version = 2013 node-gyp এ বিল্ড স্ক্রিপ্ট চালানোর সময় পাস করা হয় না। GYP_MSVS_VERSION = 2013 env পরিবর্তনশীল সেট করুন এবং এটি পরে কাজ করা উচিত।"

ব্যাং! এটা কাজ করেছে


আমি nodejs zmq কম্পাইল করার জন্য অনেক সমস্যা ছিল।

Vcbuild.exe দিয়ে সমস্যার জন্য, এটি PATH এ যুক্ত করুন

অন্যান্য সমস্যাগুলির জন্য আমি Windows 7.1 SDK Command Prompt ব্যবহার করে কম্পাইল করতে পারি

(মেনু প্রোগ্রাম -> মাইক্রোসফ্ট উইন্ডোজ এসডিকে v7.1 -> উইন্ডোজ 7.1 এসডিকে কমান্ড প্রম্পট)

এবং প্রম্পট থেকে:

npm install zmq

যে কাজ করে :)


উইন্ডোজ 8 64-বিট, zmq এবং protobuf ইনস্টল করার জন্য, নিম্নলিখিতগুলি আমার জন্য কাজ করেছে: ভিজ্যুয়াল স্টুডিও 2012 ইনস্টল করুন কমান্ড লাইনটিতে:

SET VisualStudioVersion=11.0
npm install zmq
npm install protobuf

উইন্ডোজ 8 এ এটি ব্যবহার করে আমার জন্য কাজ করেছে:

npm install -g node-gyp -msvs_version=2012

তারপর

npm install -g restify

খননের দিন পর, আইআরসি-তে কেউ পরামর্শ দেয় যে আমি ব্যবহার করার চেষ্টা করছি

Windows 7.1 SDK Command Prompt

শর্টকাট (সি লিঙ্কগুলি: \ উইন্ডোজ \ System32 \ cmd.exe / E: ON / V: ON / T: 0E / K "C: \ প্রোগ্রাম ফাইলগুলি \ মাইক্রোসফ্ট SDKs \ Windows \ v7.1 \ Bin \ SetEnv.cmd" )। আমার মনে হয় আপনার পুরোনো 7.1 SDK (এমনকি উইন্ডোজ 8.1 তে) থাকা উচিত কারণ নতুনগুলি vcbuild.exe এর পরিবর্তে msbuild.exe ব্যবহার করে যা নড-জিপিটি চায় যে নোড-জিপিটি এই সময়ে নোডের মতো পুরোনো দ্বিগুণ কিনা:

একবার যে প্রম্পটে, আমি x86 প্রসঙ্গটি পেতে নিম্নলিখিতটি চালাতে হয়েছিল কারণ কম্পাইলারটি আর্কিটেকচার সম্পর্কে অন্যথায় ত্রুটি হিসাবে নিক্ষেপ করছিল:

setenv.cmd /Release /x86

তারপরে আমি সফলভাবে npm কমান্ডগুলি চালাতে সক্ষম হয়েছিলাম যা নোড-জিপি ব্যবহার করে জিনিসগুলি পুনরায় কম্পাইল করতে চেষ্টা করেছিল।


চেষ্টা করুন - বিশ্বব্যাপী সেট করা হবে:

npm config set msvs_version 2012 --global

শুধু যোগ করুন - mmsvs_version = 2012

node-gyp rebuild --msvs_version=2012

অথবা

node-gyp configure --msvs_version=2012
node-gyp build 

@felixrieseberg ধন্যবাদ, আপনাকে কেবল উইন্ডোজ-বিল্ড-টুলস এনপিএম প্যাকেজ ইনস্টল করতে হবে এবং আপনি যেতে ভাল।

npm install --global --production windows-build-tools

আপনি ভিসুয়াল স্টুডিও ইনস্টল করতে হবে না।

আপনাকে মাইক্রোসফ্ট বিল্ড সরঞ্জাম ইনস্টল করতে হবে না।

Repo থেকে:

ইনস্টলেশনের পরে, এনপিএম এই মডিউলটি স্বয়ংক্রিয়ভাবে কার্যকর করবে, যা ভিসুয়াল সি ++ বিল্ড সরঞ্জাম 2015 ডাউনলোড করে এবং ইনস্টল করে, যা Microsoft দ্বারা বিনামূল্যে সরবরাহ করে। এই সরঞ্জাম জনপ্রিয় নেটিভ মডিউল কম্পাইল করার প্রয়োজন হয়। এটি পাইথন 2.7, আপনার মেশিন এবং এনপিএম যথাযথভাবে কনফিগার করে ইনস্টল করবে।

উইন্ডোজ ভিস্তা / 7 এর জন্য .NET Framework 4.5.1 প্রয়োজন (বর্তমানে এই প্যাকেজটি স্বয়ংক্রিয়ভাবে ইনস্টল করা নেই)

উভয় ইনস্টলেশনের দ্বন্দ্ব মুক্ত, অর্থাত যে তারা ভিসুয়াল স্টুডিও, সি ++ বিল্ড সরঞ্জাম, বা পাইথনের বিদ্যমান ইনস্টলেশনের সাথে জগাখিচুড়ি করে না।







node-gyp