Ошибка node-xmpp-bosh в Ubuntu

Я хочу реализовать сервер Bosh. Поскольку это сложно для платформы Windows, я решил развернуть ее на виртуальной машине Ubuntu через VMware. Я сделал установку без проблем. Я взял процесс на этой странице: http://code.google.com/p/node-xmpp-bosh/wiki/DebianHowTo. Теперь я хочу проверить мой сервер Bosh с помощью команды sudo bosh или же sudo /etc/init.d/bosh start на консоли у меня есть Starting bosh server. После ничего.

Я смотрю bosh.err файл и я вижу exec: 2: /usr/local/lib/bosh/run-server.js: Permission denied Я не знаю, почему эта ошибка с sudo,


Я дал исполняемое разрешение, как сказал dhruvbird: chmod +x /usr/local/lib/bosh/run-server.js,

Теперь, когда я выполняю команду sudo bosh я имею Starting bosh на терминале и bosh.err имеет это:

node.js:201
        throw e; // process.nextTick error, or 'error' event on first tick
              ^
Error: Cannot find module 'ltx'
    at Function._resolveFilename (module.js:334:11)
    at Function._load (module.js:279:25)
    at Module.require (module.js:357:17)
    at require (module.js:368:17)
    at Object.<anonymous> (/usr/local/lib/bosh/src/bosh.js:26:19)
    at Module._compile (module.js:432:26)
    at Object..js (module.js:450:10)
    at Module.load (module.js:351:31)
    at Function._load (module.js:310:12)
    at Module.require (module.js:357:17)̍

И когда я выполню команду sudo /etc/init.d/bosh start у меня всегда есть Starting bosh на терминале, и это на bosh.err:

/usr/bin/env: node: No such file or directory

И мой сервер не работает.


я бегу dpkg -L nodejs | grep bin или же dpkg -L node | grep bin и я могу прочитать, что пакет не устанавливается для каждого теста. я бегу apt-get update && apt-get install -u nodejs а также apt-get update && apt-get install -u node и всегда один и тот же результат. Когда я бегу node -v и имеют v0.6.3 и я думаю, что это означает, что узел установлен. И у меня есть каталог узла на home/node, Это проблема пути?


Я пытаюсь бежать npm install node-xmpp-bosh и это результат на npm-debug.log:

...
info preuninstall node-xmpp-bosh@0.5.6
info uninstall node-xmpp-bosh@0.5.6
verbose unbuild node-xmpp-bosh@0.5.6 [ true,
verbose unbuild node-xmpp-bosh@0.5.6   '/home/frederic/node_modules',
verbose unbuild node-xmpp-bosh@0.5.6   '/home/frederic/node_modules' ]
verbose binRoot [ '/home/frederic/node_modules/.bin',
verbose binRoot   { 'bosh-server': './run-server.js' } ]
info postuninstall node-xmpp-bosh@0.5.6
ERR! Error: shasum check failed for /tmp/npm-1333573304110/1333573499309-0.1599154758732766/tmp.tgz
ERR! Expected: 1ceb545541dce5531c12187b80de902718a6afd2
ERR! Actual:   a3920de4ba03316b05b8c94163ea39ba3db434cc
ERR!     at /usr/local/lib/node_modules/npm/lib/utils/sha.js:25:20
ERR!     at [object Object].<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/sha.js:49:5)
ERR!     at [object Object].emit (events.js:64:17)
ERR!     at afterRead (fs.js:1111:12)
ERR!     at Object.wrapper [as oncomplete] (fs.js:254:17)
ERR! You may report this log at:
ERR!     <http://github.com/isaacs/npm/issues>
ERR! or email it to:
ERR!     <npm-@googlegroups.com>
ERR! 
ERR! System Linux 3.0.0-12-generic
ERR! command "node" "/usr/local/bin/npm" "install" "node-xmpp-bosh"
ERR! cwd /home/frederic
ERR! node -v v0.6.3
ERR! npm -v 1.1.15
ERR! message shasum check failed for /tmp/npm-1333573304110/1333573499309-0.1599154758732766/tmp.tgz
ERR! message Expected: 1ceb545541dce5531c12187b80de902718a6afd2
ERR! message Actual:   a3920de4ba03316b05b8c94163ea39ba3db434cc
verbose exit [ 1, true ]

3 ответа

/usr/bin/env: node: No such file or directory

Это означает bosh было написано, чтобы использовать странную маленькую идиому для сценариев оболочки:

#!/usr/bin/env node

Это запускает env(1) программа, которая будет искать его PATH для node выполнить и выполнить его в измененной среде - но без изменений среды он просто запускается node, Это немного глупо, но это также самый простой способ написать скрипт, который не жестко прописывает путь к его интерпретатору.

У вас нет node исполняемый файл программы в вашей системе. возможно node еще не установлен. (У меня есть смутное воспоминание о том, что старые версии были на самом деле названы nodejs - но я не могу найти документацию для поддержки этой памяти.)

Чтобы убедиться node установлен, запустите:

apt-get update && apt-get install -u nodejs

Если nodejs пакет уже установлен, тогда возможно имя исполняемого файла другое. Бежать dpkg -L nodejs | grep binи найдите имя исполняемого файла в выводе. Если ты не видишь /usr/bin/nodeЯ помогу вам настроить символическую ссылку.

Чинить /usr/bin/env: node: No such file or directory Вы можете выполнить sudo apt-get install nodejs-legacy

У меня были такие же проблемы на одном из моих сервосов CentOS версии 6.4 (Final). Я исправил это с помощью этих команд:

# yum install nodejs
# yum install npm
# npm install ltx
# npm install underscore
# npm install node-lumberjack
# npm install node-uuid
# npm install eventpipe
# npm install node-expat
# npm install ejs
# npm install dns-srv
# npm install tav
# npm install ws
Другие вопросы по тегам