Вопрос или проблема
на Ubuntu 12.04.3:
adduser --system --home=/var/www/etherpad --group etherpad
apt-get install gzip git-core curl python libssl-dev build-essential abiword python-software-properties
add-apt-repository ppa:chris-lea/node.js
apt-get update; apt-get install -y nodejs
su - etherpad -s /bin/bash
git clone git://github.com/ether/etherpad-lite.git
cd etherpad-lite
sed -i 's/bin\/installDeps.sh/sh bin\/installDeps.sh/g' bin/run.sh
sh bin/run.sh
но при использовании sh bin/run.sh:
Убедитесь, что все зависимости актуализированы... Если вы запускаете Etherpad впервые, пожалуйста, наберитесь терпения.
npm ERR! cb() никогда не вызывался!
npm ERR! код 0 не ок
Вопрос: Как я могу решить эту проблему? “npm cache clear” не помог. ФС смонтирован с noexec. Система обновлена.
Для тех, кто видит это 2013-09-27, есть ошибка с последним релизом npm
. Понижение nodejs
до 0.10.17
похоже решает эту проблему.
npm shrinkwrap
и затем npm install
сработали для меня.
Это было исправлено в 0.10.20:
http://ghost.org/forum/installation/353-npm-err-cb-never-called
Ответ или решение
Проблема с ошибкой "npm ERR! cb() never called! npm ERR! not ok code 0" при установке Etherpad часто возникает из-за несовместимости версий Node.js и npm, а также из-за проблем с пакетами или зависимостями. Вот шаги, которые помогут вам исправить эту проблему:
-
Проверьте версию Node.js и npm: Убедитесь, что вы используете совместимые версии Node.js и npm. На момент написания этой статьи, проблемы с
cb() never called
часто фиксировались при переходе на более старые версии. Рекомендуется использовать Node.js версии 0.10.17 или 0.10.20. Вы можете проверить свои версии с помощью команд:node -v npm -v
-
Переустановите Node.js и npm: Если у вас установлена более новая версия Node.js, попробуйте перейти на версию 0.10.17 или 0.10.20. Для этого выполните следующие команды:
sudo apt-get remove nodejs curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash - sudo apt-get install -y nodejs=0.10.20-1nodesource1
-
Очистите кэш npm: Иногда кэш npm может быть поврежден. Попробуйте очистить его командой:
npm cache clean --force
-
Убедитесь, что все зависимости установлены правильно: Зайдите в директорию Etherpad и попробуйте запустить команды:
cd /var/www/etherpad/etherpad-lite npm install --no-bin-links
-
Используйте npm shrinkwrap: Если у вас уже есть файл
npm-shrinkwrap.json
, попробуйте воспользоваться следующими командами:npm shrinkwrap npm install
-
Проверьте настройки файловой системы: Если ваша файловая система смонтирована с флагом
noexec
, убедитесь, что это не мешает выполнению скриптов. Попробуйте изменить настройки при монтировании, если это возможно. -
Обновите зависимости: Возможно, проблема была исправлена в последующих версиях зависимостей. Попробуйте обновить их с помощью:
npm update
-
Посмотрите логи: Если проблема не устранена, посмотрите логи npm для получения дополнительной информации о возникших ошибках:
npm install --verbose
Если эти шаги не помогли вам решить проблему, обратитесь к официальной документации Etherpad или создайте новый вопрос на форумах, предоставив максимальное количество деталей о вашей конфигурации и проблемах.