package.json文件中有一些脚本:
"scripts": {
"build": "webpack --config webpack.config.prod.js --progress",
"dev": "webpack-dev-server --hot --config webpack.config.dev.js",
"test": "echo \"Error: no test specified\" && exit 1"
}
我将 devDependencies 安装在package.json文件中(在WebStorm中运行package.json),npm成功创建了带有所需二进制文件的./node_modules/.bin/
目录。
问题是,当我运行npm run dev
来启动webpack服务器时:
sh:webpack-dev-server:找不到命令
我可以通过提供.bin
文件夹的确切路径来解决此问题,如下所示:
"dev": "./node_modules/.bin/webpack-dev-server --hot --config webpack.config.dev.js"
我通过将.bin
添加到全局环境 PATH :
export PATH="$PATH:./node_modules/.bin"
我不能使用第一个解决方案,因为我不是一个人在这个项目中工作,他们也没有问题。此外,我读到,这应该是单独进行的(npm)。
第二个解决方案:我不想将项目包(二进制文件)添加到我的全局PATH环境中。
正常情况下,npm可能会自动将
.bin
文件夹添加到环境路径。
我想了解什么在打apping(为什么它会自动为其他人而不是对我起作用?)
感谢您的阅读和帮助,我想我并不孤单:)。
答案 0 :(得分:1)
我到*。/ node_modules / .bin的路径中有一个“:”,但是“:”用作PATH环境的分隔符(用于分隔到二进制目录的不同路径)。因此,shell从未到达 ./ node_modules / .bin 目录,因为路径是这样的:
/Path/to/the/Project_19:20/node_modules/.bin
“:”是文件夹名称中出现斜线的原因。