npm не удалось установить время с ошибкой make not found


153

Когда я пытаюсь установить время на сервере nodejs, я получаю следующую ошибку:

time@0.8.4 install /var/www/track/node_modules/time
node-gyp rebuild
gyp ERR! build error
gyp ERR! stack Error: not found: make
gyp ERR! stack     at F (/usr/lib/nodejs/npm/node_modules/which/which.js:43:28)
gyp ERR! stack     at E (/usr/lib/nodejs/npm/node_modules/which/which.js:46:29)
gyp ERR! stack     at /usr/lib/nodejs/npm/node_modules/which/which.js:57:16
gyp ERR! stack     at Object.oncomplete (fs.js:297:15)
gyp ERR! System Linux 3.2.0-31-virtual
gyp ERR! command "node" "/usr/lib/nodejs/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /var/www/track/node_modules/time
gyp ERR! node -v v0.8.15
gyp ERR! node-gyp -v v0.7.1
gyp ERR! not ok
npm ERR! time@0.8.4 install: `node-gyp rebuild`
npm ERR! `sh "-c" "node-gyp rebuild"` failed with 1
npm ERR!
npm ERR! Failed at the time@0.8.4 install script.
npm ERR! This is most likely a problem with the time package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get their info via:
npm ERR!     npm owner ls time
npm ERR! There is likely additional logging output above.

npm ERR! System Linux 3.2.0-31-virtual
npm ERR! command "nodejs" "/usr/bin/npm" "install" "time"
npm ERR! cwd /var/www/track
npm ERR! node -v v0.8.15
npm ERR! npm -v 1.1.66
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /var/www/track/npm-debug.log
npm ERR! not ok code 0

Пожалуйста, обновите этот пост, чтобы показать, какую ОС вы используете. Текущий ответ действителен для Ubuntu, однако для других было бы полезно, если бы вы уточнили тип вашей ОС.
— Val

Та же проблема здесь при установке npm в проекте Angular 7.
— masterxilo

Ответы:


455

Какую ОС вы используете?

Если это Ubuntu, вам нужно установить пакет build-essential:

$ sudo apt-get install build-essential

Затем попробуйте установить пакет снова.


1
Я сталкиваюсь с той же проблемой с MAC OS. Можете ли вы рассказать мне, как настроить его для MAC.
— Учащийся

@Learner Я думаю, вам может понадобиться установить XCode . Он должен содержать все инструменты, необходимые для компиляции собственных модулей в OS X, аналогично build-essential в Ubuntu.
— Chev

Это решило проблему, потому что программа 'make' отсутствует, и пакет build-essential устанавливает его вместе с несколькими другими инструментами сборки, такими как g ++, которые необходимы для компиляции узла, если вы хотите пойти по этому пути. Это должно быть помечено как ответ, по крайней мере, для ОС, которая не упоминается в ОП.
— Рафаэль Антонио Полит

Я также должен был установить Mose вещи после того build-essential, как я последовал этот SO вопрос потом и, наконец, получил его для установки stackoverflow.com/questions/32919589/…
— Felipe Sabino

1
Это решило мою проблему на Ubuntu 17.04. Спасибо, Джулиан!
— Ллойд Эразмус


12

У меня была та же проблема с использованием Docker, как на базовых образах CENTOS 7, так и на RHEL 7 ... выполните следующие действия:

RUN yum install -y make gcc*

Отлично сработало для меня!


1
Я думаю, вы только что сэкономили мне кучу времени. Спасибо! Я пытался без, gcc*но это не сработало. СЕНТОС 7
— Билл

1
Большое спасибо, после более чем 2 лет с этого поста. Это спасло мой день!
— Коусик Шанмугам Нагарадж

1
yum list gcc* | wc -l печатает, 69 так что это много, чтобы установить, я бы порекомендовал, чтобы сборка не удалась и выяснил, какая команда / инструмент отсутствует, затем вы можете запустить, yum providesчтобы получить имя пакета, а затем установить его. для меня, мне нужно только установить make gcc-c++(какая учетная запись makeи g++команда соответственно)
— Бо Чен

7

Если вы используете Windows и npm, установите его через cmd (администратор):

npm install --global --production windows-build-tools


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.