2016-12-31 68 views
0

,我有以下的package.json在目录〜/迪拉:为什么“npm install <directory>”忽略devDependencies?

{ 
    "name": "dirA", 
    "version": "1.0.0", 
    "description": "", 
    "main": "index.js", 
    "scripts": { 
    "test": "echo \"Error: no test specified\" && exit 1" 
    }, 
    "author": "", 
    "license": "ISC", 
    "dependencies": { 
    "vue": "^2.1.8" 
    }, 
    "devDependencies": { 
    "vue-loader": "^10.0.2" 
    } 
} 

然后我cd到〜/ DIRB和运行npm install ../dirA,使node_modules目录获取DIRB创建。

问题是它没有安装devDependencies。我的NODE_ENV环境变量未设置。

我只是得到这样的输出:

[~/dirB]$ npm install ../dirA 
/home/tbeadle/dirB 
`-- [email protected] 
    `-- [email protected] 

npm WARN enoent ENOENT: no such file or directory, open '/home/tbeadle/dirB/package.json' 
npm WARN dirB No description 
npm WARN dirB No repository field. 
npm WARN dirB No README data 
npm WARN dirB No license field. 

我甚至可以用npm install --only=dev ../dirB并继续无视我在的package.json定义的devDependencies。

关于如何获得这些devDependencies安装的任何想法?

+0

,如果你正在为生产devDependencies不会安装,看看在[自述](HTTPS:/ /github.com/npm/npm/blob/2e3776bf5676bc24fec6239a3420f377fe98acde/doc/files/package.json.md#devdependencies)编辑:nah文档吸吮,检查出[此问题](http://stackoverflow.com/questions/18875674 /最新最差之间依赖性-devdependencies和 - peerdependencies) – wizebin

回答

0
npm install <directory> 

不会做你正在做的事情。根据该文档here

NPM安装:

安装是坐在一个文件夹中的文件系统中的包。

另外,正如控制台警告的建议,npm安装需要在package.json存在的地方运行。 从DIRB安装到迪拉, 做到这一点:

cd dirB 

mkdir -p ../dirA/node_modules 

npm install --prefix path_to_folder_in_dirA 

入住这stackoverflow question