Вопрос:
У меня есть проект с зависимостями в package.json. Когда я устанавливаю с помощью npm install, я получаю пакеты, установленные в ~/.npm, но не в текущей папке node_modules.
NPM создает node_modules, но не устанавливает там пакеты. Там .staging папка внутри node_modules, которая содержит все пакеты для проектов, но они не выводятся после извлечения.
Использование Node v6.9.1/npm v3.10.8.
Нет других проектов / node_modules, установленных в каталогах выше текущего, хотя в родительском каталоге также есть package.json. Однако каталог node_modules создается в родительском каталоге.
Как ни странно, когда я вручную устанавливаю пакет, например npm install @angular/core, он устанавливается без проблем.
Это на Ubuntu 16.04.
package.json:
{ «name»: «», «version»: «0.5.0», «description»: «website (Angular2/NodeJS)», «main»: «main.js», «scripts»: { «test»: «echo «Error: no test specified» && exit 1″ }, «author»: «John Halbert <https://halbert.tech> (john@halbert.tech)», «license»: «SEE LICENSE IN LICENSE.md», «dependencies»: { «@angular/common»: «^2.1.1», «@angular/compiler»: «^2.1.1», «@angular/core»: «^2.1.1», «@angular/forms»: «^2.1.1», «@angular/http»: «^2.1.1», «@angular/platform-browser»: «^2.1.1», «@angular/platform-browser-dynamic»: «^2.1.1», «@angular/router»: «^3.1.1», «core-js»: «^2.4.1», «reflect-metadata»: «^0.1.8», «systemjs»: «^0.19.39», «zone.js»: «^0.6.26» }, «devDependencies»: { «concurrently»: «^3.1.0», «typings»: «^1.4.0» } } Ответ №1
Попробуйте запустить
echo «» > $(npm config get userconfig) npm config edit
Чтобы узнать, есть ли у вас папка с изменением de node по умолчанию, если это так, вы можете reset конфигурации, выполнив
echo «» > $(npm config get globalconfig) npm config —global edit Ответ №2
После проведения большего исследования похоже, что это проблема памяти с моим сервером. Работает на низкоуровневом VPS с оперативной памятью 128 Мб.
Есть несколько предложений о том, как справиться с этим. Я нашел других, предлагающих npm config set jobs 1 как способ ограничить использование памяти, но это не сработало для меня. Другие предлагают добавить (более) swap, который запрещен моим хостинг-провайдером.
Процесс npm фактически убивается, поэтому кажется, что это, скорее всего, виновник.