Saya tidak dapat menginstal modul apa pun yang memerlukan kompilasi. Semua mereka gagal dengan kesalahan berikut:
MSBUILD : error MSB3411: Could not load the Visual C++ component "VCBuild.exe". ...
Lingkungan saya:
- Windows 7 Enterprise x64, versi 6.1.7601
- simpul x86 0.8.16
- npm 1.2.0
- node-gyp 0.8.2
- Visual Studio 2012 dan banyak paket
Variabel lingkungan terkait:
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
Tidak TERMASUK, LIB, LIBPATH, dll.
Saya melakukan penyelidikan singkat tentang masalah ini dan mencari tahu bahwa dengan pengaturan berikut kompilasi manual (memanggil VCBuild.exe dan msbuild.exe secara langsung) berhasil untuk git yang diklon secara manual: //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
Saya sudah mencoba memanggil node-gyp dengan variabel yang sama dan gagal:
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-gyp@0.8.2
gyp info using node@0.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
Mungkin Anda akan memiliki beberapa ide tentang itu?
Terima kasih.
node.js
visual-studio-2012
node-gyp
Alex Netkachov
sumber
sumber
vcvarsall.bat
daripada mencoba mengatur lingkungan Anda secara manual?Jawaban:
Coba itu - akan mengaturnya secara global:
sumber
error MSB4019: The imported project "C:\Microsoft.Cpp.Default.props" was not found.
Untuk melakukannya tanpa instalasi VS2010, dan hanya 2012, atur bendera msvs_version:
node-gyp rebuild --msvs_version=2012
npm install <module> --msvs_version=2012
sesuai komentar @ Jacob
npm install --msvs_version=2013
jika Anda memiliki versi 2013sumber
npm install
perintah mendapatkannya bekerja untuk saya. Satu garis juga bekerja untuk saya.Perbarui v3: https://www.npmjs.com/package/windows-build-tools
npm instal --global windows-build-tools
Perbarui v2:
node-gyp memperbarui readme mereka untuk memasukkan BAGAIMANA untuk windows
Asli:
Tidak perlu untuk seluruh studio visual, Anda dapat mengunduh hanya alat build
Microsoft Build Tools 2013: http://www.microsoft.com/en-us/download/details.aspx?id=40760
jalankan cmd untuk mengatur flag global untuk menggunakan versi 2013:
npm config set msvs_version 2013 --global
setelah ini semuanya akan kembali normal dan npm install / node-gyp Anda akan berfungsi kembali
sumber
npm config set msvs_version 2015 --global
yang juga berfungsinpm config set msvs_version 2015 --global
karyatambahkan saja --msvs_version = 2012
atau
sumber
Saya memiliki masalah yang sama ketika mencoba menginstal paket untuk Node.js. Setelah beberapa googeling yang luas saya menemukan walktrough ini: https://github.com/TooTallNate/node-gyp/wiki/Visual-Studio-2010-Setup
Ketika saya telah mengikuti langkah-langkah ini saya bisa menggunakan "npm install" tanpa masalah.
sumber
Berkat @felixrieseberg , Anda hanya perlu menginstal paket npm windows-build-tools dan Anda siap melakukannya.
Anda tidak perlu menginstal Visual Studio.
Anda tidak perlu menginstal Alat Bangun Microsoft.
Dari repo:
sumber
pada windows 8, itu berhasil bagi saya menggunakan:
kemudian
sumber
Setelah HARI penggalian, seseorang di IRC menyarankan agar saya mencoba menggunakan
Pintasan (tautan ke C: \ Windows \ System32 \ cmd.exe / E: ON / V: ON / T: 0E / K "C: \ Program Files \ Microsoft SDKs \ Windows \ v7.1 \ Bin \ SetEnv.cmd" ). Saya pikir Anda HARUS memiliki 7.1 SDK yang lebih lama (bahkan pada Windows 8.1) karena yang lebih baru menggunakan msbuild.exe daripada vcbuild.exe yang diinginkan oleh node-gyp walaupun itu dua kali lebih tua dari node pada titik ini: /
Setelah di prompt itu, saya harus menjalankan yang berikut untuk mendapatkan konteks x86 karena kompiler itu melempar sebagai kesalahan sebaliknya tentang arsitektur:
LALU saya berhasil menjalankan perintah npm yang mencoba menggunakan node-gyp untuk mengkompilasi ulang hal-hal.
sumber
Saya memiliki isuee yang sama dan melakukan semua keajaiban di atas, satu-satunya hal yang melakukan keajaiban bagi saya adalah dari https://github.com/atom/atom/issues/2435
"Karena --msvs_version = 2013 tidak diteruskan ke node-gyp saat dijalankan oleh skrip build. Setel variabel GYP_MSVS_VERSION = 2013 env dan itu akan berfungsi setelahnya."
Bang! itu berhasil
sumber
Di Windows Ini membantu saya: (kredit masuk ke) https://github.com/TooTallNate/node-gyp/wiki/Updating-npm%27s-bundled-node-gyp Saya mencoba MINGW32, tetapi tidak berhasil.
di
cmd.exe
sumber
Untuk windows 8 64-bit, instal zmq dan protobuf, berikut ini berfungsi untuk saya: Instal Visual Studio 2012 Pada baris perintah:
sumber
Saya pikir solusinya adalah mengunduh instal Microsoft windows sdk untuk server 2008 dengan .net framework 3.5
atau cukup instal Visual studio 2008 .
Masalahnya adalah untuk windows membangun node-gyp mengeksekusi file vcbuid.exe, dan untuk beberapa alasan tidak dapat menemukannya.
Terima kasih
sumber
vcbuild.exe
variabel lingkungan AndaPATH
vcbuild.exe
mendapatkannya di sini https://github.com/kin9puppy/vcbuildFixForNodesumber
Saya juga punya banyak masalah untuk mengkompilasi nodejs zmq.
Untuk masalah dengan vcbuild.exe, tambahkan saja ke PATH
Untuk masalah lain saya bisa mengkompilasi hanya menggunakan
Windows 7.1 SDK Command Prompt
(Menu Program -> Microsoft Windows SDK v7.1 -> Windows 7.1 SDK Command Prompt)
Dan dari prompt:
npm install zmq
Itu berhasil :)
sumber
Setelah perjuangan yang panjang, saya telah mengubah arsitektur node saya ke x86 dan itu bekerja seperti pesona.
sumber
di cmd set jalur Visual Studio tergantung pada versi Anda sebagai
Dalam node-master (modul simpul asli yang diunduh dari git) jalankan vcbuild.bat dengan hak istimewa admin. vcbild.bat akan menghasilkan dependensi terkait windows dan akan menambahkan nama folder Release di node-master
Setelah dijalankan, akan dibutuhkan waktu untuk membuat file.
Kemudian dalam direktori memiliki perintah .gyp file use
ini akan membangun semua dependensi.
sumber
Saya memecahkan masalah ini di windows 8 dan windows 10 pro dengan tutorial ini. Saya mencoba berkali-kali untuk menyelesaikan masalah ini dengan banyak solusi berbeda, tetapi hanya bekerja untuk saya dengan ini: http://www.serverpals.com/blog/building-using-node-gyp-with-visual-studio-express -2015-on-windows-10-pro-x64 Saya perhatikan bahwa saya tidak menggunakan nodist untuk mengontrol versi simpul seperti tutorial ini, saya menggunakan NVM dan bekerja dengan baik, saya tidak menguji tutorial ini dengan nodist. Saya menggunakan simpul 5.2.0.
sumber