我有一个种子项目,为了完整性我删除了node_modules
,然后才提交源代码控制(是的,我有一个.gitignore
)。
然后运行npm install
,我发现没有.\node_modules\.bin
文件夹可以从中启动webpack dev服务器。这以前工作得很好。我的"webpack-dev-server": "^1.14.1"
已devDependencies
。
任何人都知道为什么我的.bin
文件夹不是由npm创建的?
嗯。
答案 0 :(得分:1)
你还有一个.\node_modules\webpack-dev-server\
文件夹吗?如果没有,那么你知道它没有完全安装而不仅仅是安装bin文件。
npm install
should install every dependency in your package.json
file,所以有些事情发生了。
npm install(在包目录中,没有参数):
在本地node_modules文件夹中安装依赖项。
在全局模式下(即,使用-g或--global附加到命令),它 安装当前的包上下文(即当前工作 directory)作为全局包。
默认情况下,npm install将安装列出的所有模块 package.json中的依赖项。
使用--production标志(或当NODE_ENV环境变量 设置为生产),npm不会安装列出的模块 devDependencies。
我首先要确保您的npm配置未设置为生产。运行此命令:
npm config get production
..如果它返回true,则使用以下命令将其设置为false:
npm config set production false
如果失败,则在完全不同的位置创建一个新文件夹(即使在不同的硬盘或用户名下),然后重新设置package.json文件(npm init
,npm install module
,npm install module2 --save-dev
等等。)。如果这样可行,那么也许npm正在扩展您的目录以寻找某些依赖项,在某处找到它,因此不在此处安装它。
检查您的npmrc文件。运行npm config list
并确保一切看起来都不错(这是一个很长的镜头,然而,有些东西可能会出现)。
如果您不想这样做,那么可以使用此命令强制仅安装devDependencies
npm install --only=dev