frederick@frederickpina:~$ npm install
internal/modules/cjs/loader.js:1023
throw err;
^
Error: Cannot find module 'semver'
Require stack:
/usr/share/npm/lib/utils/unsupported.js
/usr/share/npm/bin/npm-cli.js
at Function.Module._resolveFilename (internal/modules/cjs/loader. js:1020:15)
at Function.Module._load (internal/modules/cjs/loader.js:890:27)
at Module.require (internal/modules/cjs/loader.js:1080:19)
at require (internal/modules/cjs/helpers.js:72:18)
at Object. (/usr/share/npm/lib/utils/unsupported.js:2:14)
at Module._compile (internal/modules/cjs/loader.js:1176:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1196:10)
at Module. load (internal/modules/cjs/loader.js:1040:32)
at Function.Module._load (internal/modules/cjs/loader.js:929:14)
at Module.require (internal/modules/cjs/loader.js:1080:19) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/usr/share/npm/lib/utils/unsupported.js',
'/usr/share/npm/bin/npm-cli.js'
]
}
В Ubuntu, если вы предпочитаете управлять Node через репозитории по умолчанию, используя apt
, лучше всего установить и nodejs
и npm
.
Вполне вероятно, что используемая вами версия npm ожидает semver
в определенном месте, которое не соответствует установленной вами версии Node JS. Если есть только одна версия nodejs
и только одна версия npm
, и обе они установлены с использованием репозиториев по умолчанию, это должно работать отлично.
Вот мое лучшее руководство по настройке работы Node и npm с использованием основных репозиториев Ubuntu:
sudo apt-get purge nodejs --auto-remove
и sudo apt-get purge npm --auto -remove
whereis node
: удалить все версии узла по одному. Повторяйте, пока эта команда не вернет пробел после node:
. sudo apt-get install nodejs
node --version
: должен возвращать ... нет такого файла или каталога
nodejs --version
: должен возвращать v1x .xx
. Это версия, установленная apt
. Вероятно, она будет менее свежей, чем последняя версия, доступная на веб-сайте Node JS. sudo apt-get install npm
npm --version
: он будет использовать nodejs
, установленный apt
, и будет работать правильно.