Node вариант выбора:
Я попытался выбрать версию Node, установив ее только в Package.json без изменения настроек по умолчанию в настройках приложения (версия по умолчанию: 4.2.3), и у меня все еще появилась следующая ошибка:
Node.js versions available on the platform are: 0.6.20, 0.8.2, 0.8.19, 0.8.26, 0.8.27, 0.8.28, 0.10.5, 0.10.18, 0.10.21, 0.10.24, 0.10.26, 0.10.28, 0.10.29, 0.10.31, 0.10.32, 0.10.40, 0.12.0, 0.12.2, 0.12.3, 0.12.6, 4.0.0, 4.1.0, 4.1.2, 4.2.1, 4.2.2, 4.2.3, 4.2.4, 5.0.0, 5.1.1, 5.3.0, 5.4.0, 5.5.0.
Selected node.js version 5.4.0. Use package.json file to choose a different version.
Selected npm version 3.3.12
Updating iisnode.yml at D:\home\site\wwwroot\iisnode.yml
3. Install npm packages
npm WARN deprecated [email protected]: [email protected]<2.0.0 is no longer maintained. Upgrade to [email protected]^3.0.0
npm WARN deprecated [email protected]: DEPRECATED. See readme: https://github.com/gruntjs/grunt-lib-contrib
npm WARN deprecated [email protected]: [email protected]<2.0.0 is no longer maintained. Upgrade to [email protected]^3.0.0
> [email protected] preinstall D:\home\site\wwwroot\node_modules\.staging\sails-bbe9b0ace9f7789c8522238af14fe27a
> node ./lib/preinstall_npmcheck.js
Sails.js Installation: Checking npm-version successful
npm WARN prefer global [email protected] should be installed with -g
> [email protected] install D:\home\site\wwwroot\node_modules\fibers
> node build.js || nodejs build.js
D:\home\site\wwwroot\node_modules\fibers>if not defined npm_config_node_gyp (node "c:\Program Files (x86)\npm\3.3.12\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild --release ) else (node rebuild --release )
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
fibers.cc
coroutine.cc
..\src\fibers.cc : fatal error C1902: Program database manager mismatch; please check your installation [D:\home\site\wwwroot\node_modules\fibers\build\fibers.vcxproj]
..\src\coroutine.cc : fatal error C1902: Program database manager mismatch; please check your installation [D:\home\site\wwwroot\node_modules\fibers\build\fibers.vcxproj]
gyp ERR! build error
gyp ERR! stack Error: `msbuild` failed with exit code: 1
gyp ERR! stack at ChildProcess.onExit (c:\Program Files (x86)\npm\3.3.12\node_modules\npm\node_modules\node-gyp\lib\build.js:270:23)
gyp ERR! stack at emitTwo (events.js:87:13)
gyp ERR! stack at ChildProcess.emit (events.js:172:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Windows_NT 6.2.9200
gyp ERR! command "D:\\Program Files (x86)\\nodejs\\4.2.3\\node.exe" "c:\\Program Files (x86)\\npm\\3.3.12\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--release"
gyp ERR! cwd D:\home\site\wwwroot\node_modules\fibers
gyp ERR! node -v v4.2.3
gyp ERR! node-gyp -v v3.0.3
Build failed
Как вы можете видеть, он сначала утверждает:
Selected node.js version 5.4.0. Use package.json file to choose a different version.
в соответствии с файлом Package.json.
Однако позже в сообщении об ошибке это, похоже, изменилось:
gyp ERR! node -v v4.2.3
Мне не понятно, почему эта ошибка возникает, поскольку версия в файле Package.json должна быть перезаписана по умолчанию в настройках приложения. Поэтому, конечно, просто установите оба параметра в достаточно высокую версию (не уверен, когда проблема с node -gyp была решена, но 5.4.0, похоже, работает нормально!).