2015-04-05 3 views
1

Я использую Ubuntu Server 14.04.1 LTS, который я считаю, чтобы быть x32 машиныНОЙ установка не устанавливают все компоненты, узел-плут не может

При попытке запустить свой экземпляр nodejs я получаю ошибку

{ [Error: Cannot find module '../build/Release/bson'] code: 'MODULE_NOT_FOUND' } js-bson: Failed to load c++ bson extension, using pure JS version

Пожалуйста сделать не ссылку ответов, связанные с указанными выше проблемами здесь. Проблема заключается не в том, что она не загружается. Он просто не установлен. Вот мои package.json зависимости:

"dependencies": { 
    "express": "*", 
    "socket.io": "*", 
    "mongodb": "*", 
    "mongoose": "*" 
} 

Когда я бегу Судо НПМ установить (НПМ в последней версии) я получаю следующая:

npm WARN package.json [email protected] No description 
npm WARN package.json [email protected] No repository field. 
npm WARN package.json [email protected] No README data 
npm WARN engine [email protected]: wanted: {"node":">= 0.10.0"} (current: {"node":"0.13.0-pre","npm":"2.7.5"}) 
npm WARN engine [email protected]: wanted: {"node":">=0.6.19"} (current: {"node":"0.13.0-pre","npm":"2.7.5"}) 
(...) 
npm WARN engine [email protected]: wanted: {"node":">=0.4.0"} (current: {"node":"0.13.0-pre","npm":"2.7.5"}) 
- 
> [email protected] install /usr/share/nginx/www/node_modules/socket.io/node_modules/engine.io/node_modules/ws 
> (node-gyp rebuild 2> builderror.log) || (exit 0) 

npm WARN engine [email protected]: wanted: {"node":">=0.4.0"} (current: {"node":"0.13.0-pre","npm":"2.7.5"}) 
(...) 
npm WARN engine [email protected]: wanted: {"node":">= 0.6.0"} (current: {"node":"0.13.0-pre","npm":"2.7.5"}) 

> [email protected] install /usr/share/nginx/www/node_modules/mongodb/node_modules/mongodb-core/node_modules/kerberos 
> (node-gyp rebuild 2> builderror.log) || (exit 0) 

npm WARN engine [email protected]: wanted: {"node":">=0.8.19"} (current: {"node":"0.13.0-pre","npm":"2.7.5"}) 
(...) 
npm WARN engine [email protected]: wanted: {"node":">=0.4.0"} (current: {"node":"0.13.0-pre","npm":"2.7.5"}) 

> [email protected] install /usr/share/nginx/www/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws 
> (node-gyp rebuild 2> builderror.log) || (exit 0) 

npm WARN engine [email protected]: wanted: {"node":">=0.6.19"} (current: {"node":"0.13.0-pre","npm":"2.7.5"}) 

> [email protected] install /usr/share/nginx/www/node_modules/mongodb/node_modules/mongodb-core/node_modules/bson/node_modules/bson-ext 
> (node-gyp rebuild 2> builderror.log) || (exit 0) 


> [email protected] install /usr/share/nginx/www/node_modules/mongoose/node_modules/mongodb/node_modules/mongodb-core/node_modules/kerberos 
> (node-gyp rebuild 2> builderror.log) || (exit 0) 


> [email protected] install /usr/share/nginx/www/node_modules/mongoose/node_modules/mongodb/node_modules/mongodb-core/node_modules/bson 
> (node-gyp rebuild 2> builderror.log) || (exit 0) 


> [email protected] install /usr/share/nginx/www/node_modules/mongodb/node_modules/mongodb-core/node_modules/bson 
> (node-gyp rebuild 2> builderror.log) || (exit 0) 

На самом деле, ни один из тех, папки (bson, kerberos, ws) находятся внутри подпапок node_modules. Так что это действительно MODULE_NOT_FOUND.

Я пробовал работать npm update, ничего не делает, всегда повторяет тот же вывод. Я пытался делать узел-Gyp перестраивать, вот выход:

gyp info it worked if it ends with ok 
gyp info using [email protected] 
gyp info using [email protected] | linux | ia32 
gyp ERR! configure error 
gyp ERR! stack Error: "pre" versions of node cannot be installed, use the --nodedir flag instead 
gyp ERR! stack  at install (/usr/local/lib/node_modules/node-gyp/lib/install.js:66:16) 
gyp ERR! stack  at Object.self.commands.(anonymous function) [as install] (/usr/local/lib/node_modules/node-gyp/lib/node-gyp.js:66:37) 
gyp ERR! stack  at getNodeDir (/usr/local/lib/node_modules/node-gyp/lib/configure.js:152:20) 
gyp ERR! stack  at /usr/local/lib/node_modules/node-gyp/lib/configure.js:95:9 
gyp ERR! stack  at ChildProcess.exithandler (child_process.js:723:7) 
gyp ERR! stack  at ChildProcess.emit (events.js:110:17) 
gyp ERR! stack  at maybeClose (child_process.js:1000:16) 
gyp ERR! stack  at Socket.<anonymous> (child_process.js:1168:11) 
gyp ERR! stack  at Socket.emit (events.js:107:17) 
gyp ERR! stack  at Pipe.close (net.js:461:12) 
gyp ERR! System Linux 3.13.0-48-generic 
gyp ERR! command "node" "/usr/local/bin/node-gyp" "rebuild" 
gyp ERR! cwd /usr/share/nginx/www 
gyp ERR! node -v v0.13.0-pre 
gyp ERR! node-gyp -v v1.0.3 
gyp ERR! not ok 

И я попытался установить с узлом-лавочка с -g, ничего не получалось. Это доходит до того, что я достигаю отчаяния. Может ли кто-нибудь мне помочь? Большое спасибо ...

+0

Ваш 'node-gyp rebuild' не будет работать с предварительной версией. Поэтому либо получите последнюю стабильную версию (которая составляет 12.2 в соответствии с их сайтом), либо запустите 'node-gyp rebuild --nodedir/path/to/install/node/to', а затем добавьте это к вашему пути. Кроме того, в какой-то момент вы сказали, что вы запустили 'sudo npm install', но в дальнейшем одобряете, что вы опускаете' sudo'. Убедитесь, что вы выполняете команды последовательно. – Tony

ответ

0

В зависимостях удалите mongodb. mongoose установит драйвер внутри него.

"dependencies": { 
    "express": "*", 
    "socket.io": "*",  
    "mongoose": "*" 
} 

затем сделать

sudo npm unistall mongodb 
sudo npm cache clean 
sudo npm install 

Если проблема все еще сохраняется, то сделать

sudo apt-get install build-essential 

Кроме того, всегда запускать команды под Судо, если вы не являетесь привилегированным пользователем.

0

Этот вопрос произошел со мной несколько раз.

До сих пор, очистка кэша НПМ было достаточно:

npm cache clean 
npm i 

НЕ используйте sudo!Необходимо очистить кэш для глобальных НПМ бункеров, не местные, а также, если вы не используете NVM в качестве обычного пользователя (для локальных и глобальных пакетов)

1

Try добавления определенных стабильные и совместимые версий в ваших зависимости:

"dependencies": { 
    "express": "^4.13.3", 
    "mongodb": "^2.0.47", 
    "mongoose": "^4.2.3", 
    "socket.io": "^1.3.7" 
} 

Если вы работаете npm install внутри проекта вы не должны также работать в качестве НПМ sudo. Если вы этого не сделаете, то npm должен установить ваши модули внутри проекта в каталоге node_modules, и вы сможете использовать разные версии в каждом проекте.

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