2013-07-14 2 views
2

i'ms пытаются установить мангуст на Мысе nodeJS проекта и я эта ошибкаошибка MSB007 node.js мангуст

C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.Cpp.InvalidPlatform 
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.Cpp.InvalidPlatform 
.Targets(23,7): error MSB8007: The Platform for project 'kerberos.vcxproj' is i 
.Targets(23,7): error MSB8007: The Platform for project 'bson.vcxproj' is inval 
nvalid. Platform='x64'. You may be seeing this message because you are trying 
id. Platform='x64'. You may be seeing this message because you are trying to b 
to build a project without a solution file, and have specified a non-default Pl 
uild a project without a solution file, and have specified a non-default Platfo 
atform that doesn't exist for this project. [c:\testNodeMongoose\node_modules\m 
rm that doesn't exist for this project. [c:\testNodeMongoose\node_modules\mongo 
ongoose\node_modules\mongodb\node_modules\kerberos\build\kerberos.vcxproj] 
ose\node_modules\mongodb\node_modules\bson\build\bson.vcxproj] 

Но я должен был установить Python и Visual Studio 2010 Express и плут. Когда я пытаюсь установить socket.io у меня такая же проблема ...

ответ

4

VS Экспресс не имеет поддержки x64 сборки, поэтому у вас есть несколько вариантов здесь:

  • установить пробное издание полного Visual Studio люкс
  • деинсталлировать 64bit узел и использовать x86 версии
  • установить Windows SDK

Я лично рекомендую второй (win32 узел), так как SDK установки является боль в т он возвращается (в большинстве случаев он терпит неудачу без сообщений об ошибках, что «может быть» признаком «плохой» версии vcredist), а полная Visual Studio не такая дешевая (в то время как пробная версия не является постоянным решением).

1

32-разрядный Узел сообщает о предупреждениях для bson и kerberos.
Я не понимаю, почему node-gyp даже уволен. Я думал, что собственные пакеты поставляются заранее, с двоичными файлами для моей ОС?
Хмм, я думаю, я ошибся.

... 
npm http 304 https://registry.npmjs.org/bson/0.2.2 
npm http 304 https://registry.npmjs.org/kerberos/0.0.3 

> [email protected] install D:\mbo\repos\mean-mbo\node_modules\mongodb\node_modules\kerberos 
> (node-gyp rebuild 2> builderror.log) || (exit 0) 


D:\mbo\repos\mean-mbo\node_modules\mongodb\node_modules\kerberos>node "C:\Program Files (x86)\nodejs 
\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild 

> [email protected] install D:\mbo\repos\mean-mbo\node_modules\mongodb\node_modules\bson 
> (node-gyp rebuild 2> builderror.log) || (exit 0) 


D:\mbo\repos\mean-mbo\node_modules\mongodb\node_modules\bson>node "C:\Program Files (x86)\nodejs\nod 
e_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild 
    kerberos.cc 
    worker.cc 
    security_credentials.cc 
    security_buffer.cc 
    bson.cc 
C:\Users\mbo\.node-gyp\0.10.18\deps\v8\include\v8.h(184): warning C4506: no definition for inline 
function 'v8::Persistent<T> v8::Persistent<T>::New(v8::Handle<T>)' [D:\mbo\repos\mean-mbo\node_mod 
ules\mongodb\node_modules\kerberos\build\kerberos.vcxproj] 
      with 
      [ 
       T=v8::Object 
      ] 
C:\Users\mbo\.node-gyp\0.10.18\deps\v8\include\v8.h(184): warning C4506: no definition for inline 
function 'v8::Persistent<T> v8::Persistent<T>::New(v8::Handle<T>)' [D:\mbo\repos\mean-mbo\node_mod 
ules\mongodb\node_modules\kerberos\build\kerberos.vcxproj] 
      with 
      [ 
       T=v8::FunctionTemplate 
      ] 
C:\Users\mbo\.node-gyp\0.10.18\deps\v8\include\v8.h(179): warning C4506: no definition for inline 
function 'v8::Persistent<T> v8::Persistent<T>::New(v8::Handle<T>)' [D:\mbo\repos\mean-mbo\node_mod 
ules\mongodb\node_modules\kerberos\build\kerberos.vcxproj] 
      with 
      [ 
       T=v8::Object 
      ] 
    security_buffer_descriptor.cc 
    security_context.cc 
+0

ли вы решить эту проблему? У меня точно такая же проблема. :) – Marek

+0

Я не хотел устанавливать * VisualStudio *, поэтому использовал Ubuntu.Подобное происходит в Ubuntu, но * node-gyp * успешно создает его без каких-либо дополнительных установок. –

+0

Это помогло мне получить другую ошибку в окнах: https://groups.google.com/d/msg/node-mongodb-native/lz3-e1_WZP4/JJETYDDQrMUJ – Shoreline

1

Убедитесь, что все необходимое программное обеспечение для запуска node-gyp:

Вы можете настроить версию Visual Studio, используемой gyp через переменную окружения, так что вы можете избежать необходимо установить свойство --msvs_version=2012 каждый раз, когда вы делаете установку npm.

Примеры:

  • набор GYP_MSVS_VERSION=2012 для Visual Studio 2012
  • набор GYP_MSVS_VERSION=2013e ('Е' означает 'экспресс-выпуск')

Для полный список - https://github.com/joyent/node/blob/v0.10.29/tools/gyp/pylib/gyp/MSVSVersion.py#L209-294

Это по-прежнему болезненно для пользователей Windows из NodeJS, поскольку предполагает, что у вас есть копия Visual Studio i nstalled, и у многих конечных пользователей этого никогда не будет. Поэтому я лоббирую Joyent, чтобы побудить их включать веб-сокеты как часть узла CORE, а также, возможно, отправить компилятор GNU gcc как часть установки NodeJS, чтобы мы могли надолго исправить эту проблему.

Вы можете добавить свой голос в:

Смежные вопросы