2015-12-31 2 views
1

Когда я запускаю это:НПМ --save-DEV не работает с --prefix

npm install angular-mocks --save-dev 

Я получаю угловой издевается в ./node_modules и ссылку на угловых издевается в ./package.json

Когда я запускаю это:

npm install angular-mocks --prefix ./Content/libs 

Я получаю угловой издевается в ./Content/libs/node_modules

Когда я запускаю это:

npm install angular-mocks --save-dev --prefix ./Content/libs 

Я получаю угловые издевается в ./Content/libs/nod_modules, но нет ссылок на anguar-издевается в ./package.json

Почему НПЙ не спасает ссылку в package.json, когда я использовать --prefix?

ответ

2

Почему npm не сохраняет ссылку в package.json, когда я использую --prefix?

Это (или, по крайней мере, будет делать), но он ожидает package.json находиться в родительской папке, где она падает папку node_modules.

В вашем случае это будет ./Content/libs.

Попробуйте:

mkdir -p ~/test/Content/libs 
cd ~/test/Content/libs 
npm init (accept defaults) 
cd ~/test 
npm install angular-mocks --save-dev --prefix ./Content/libs 
cat ~/test/Content/libs/package.json 

package.json:

{ 
    "name": "libs", 
    "version": "1.0.0", 
    "description": "", 
    "main": "index.js", 
    "scripts": { 
    "test": "echo \"Error: no test specified\" && exit 1" 
    }, 
    "author": "", 
    "license": "ISC", 
    "devDependencies": { 
    "angular-mocks": "^1.4.8" 
    } 
} 

Как вы можете видеть, угловые-издевается были сохранены в devDependencies.

Этот SO нить содержит немного более подробно об установке локальных пакетов в другое место: npm local install package to custom location

+0

Это не работает на Windows. https://github.com/npm/npm/issues/10448 – shinichy

+0

Какую версию npm вы используете? –