我正在使用webpack处理React webapp,松散地与this tutorial并行。
无意中,我将node_modules文件夹添加到我的git中。然后我使用git rm -f node_modules/*
再次将其删除。
现在,当我尝试启动webpack服务器时,出现以下错误:
> webpack-dev-server -d --config webpack.dev.config.js --content-base public/ --progress --colors
sh: webpack-dev-server: command not found
npm ERR! Darwin 14.4.0
npm ERR! argv "node" "/usr/local/bin/npm" "run" "devserve"
npm ERR! node v0.12.4
npm ERR! npm v2.10.1
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR! Blabber@0.0.1 devserve: `webpack-dev-server -d --config webpack.dev.config.js --content-base public/ --progress --colors`
npm ERR! spawn ENOENT
起初我以为这只是我的项目,但后来我检查了教程的代码检查点:同样的错误!所以似乎全局搞砸了。
这是我到目前为止所尝试的内容:
rm node_modules
并重新安装npm install
npm cache clean
正如有人提及this issue on github npm install -g webpack
错误消息仍然存在。我还能尝试什么?
PS:webpack.dev.config.js
的内容是:
var config = require('./webpack.config.js');
var webpack = require('webpack');
config.plugins.push(
new webpack.DefinePlugin({
"process.env": {
"NODE_ENV": JSON.stringify("development")
}
})
);
module.exports = config;
答案 0 :(得分:137)
好的,很简单:
npm install webpack-dev-server -g
让我感到困惑的是我起初并不需要这样做,可能是新版本的内容发生了变化。
答案 1 :(得分:20)
仅供参考,您可以通过命令行访问任何脚本 需要将脚本注册为shell脚本(或任何类型的脚本) 像系统中的.js,.rb)这样的脚本就像在dir中的这些文件一样 UNIX中的
/usr/bin
。而且,系统必须知道在哪里找到它们。即 该位置必须加载到$PATH
数组中。
在您的情况下,脚本webpack-dev-server
已安装在./node_modules
目录中的某个位置,但系统不知道如何访问它。因此,要访问命令webpack-dev-server
,您还需要在全局范围中安装脚本。
$ npm install webpack-dev-server -g
此处,-g
指的是全局范围。
但是,这不是推荐方式,因为您可能会遇到版本冲突的问题;所以,您可以在npm
package.json
文件中设置命令,如:
"scripts": {
"start": "webpack-dev-server -d --config webpack.dev.config.js --content-base public/ --progress --colors"
}
此设置允许您使用简单命令
访问所需的脚本$ npm start
如此短暂地记忆和玩耍。并且,npm
知道模块webpack-dev-server
的位置。
答案 2 :(得分:11)
脚本webpack-dev-server
已安装在./node_modules目录中。
您可以通过
sudo npm install -g webpack-dev-server
或像这样运行
./node_modules/webpack-dev-server/bin/webpack-dev-server.js -d --config webpack.dev.config.js --content-base public/ --progress --colors
.
表示在当前目录中查找。
答案 3 :(得分:6)
<强>纱线强>
我在运行时遇到了问题:.neighbor
通过先运行yarn start
答案 4 :(得分:3)
我遇到了同样的问题,但是以下步骤帮助我摆脱了这个问题。
在本地安装“ webpack-dev-server”(在项目目录中,因为它不是从全局安装中选择的)
npm install --save webpack-dev-server
可以验证node_modules内部是否存在“ webpack-dev-server”文件夹。
npx webpack-dev-server --mode development --config ./webpack.dev.js
npm run start
也可以正常工作,其中您在package.json脚本中的输入应与上面类似,而没有npx。
答案 5 :(得分:1)
在安装VSCode并添加远程Git存储库后,我注意到了相同的问题。以某种方式删除了/node_modules/.bin
文件夹,并在命令行中运行npm install --save webpack-dev-server
,重新安装了丢失的文件夹并解决了我的问题。
答案 6 :(得分:0)
我使用npm install --save-dev webpack-dev-server
安装,然后像这样设置package.json和webpack.config.js:
setting
然后我运行webpack-dev-server并得到此错误 error
如果我不使用npm install -g webpack-dev-server
进行安装,那么如何解决?
我通过删除configuration has an unknown property 'colors'
修正了错误colors:true
。它奏效了!
答案 7 :(得分:0)
我发现接受的答案并不适用于所有情况。为确保100%正常工作,必须清除npm缓存。直接转到缓存并清除锁,缓存,anonymous-cli-metrics.json;或者可以尝试npm cache clean
。
由于作者在尝试推荐的解决方案之前已经清除了缓存,因此可能无法使其成为先决条件的一部分。
答案 8 :(得分:0)
我在纱线上遇到了类似的问题,以上都不对我有用,所以我只是删除了this
并运行了./node_modules
,问题就消失了。
答案 9 :(得分:0)
答案 10 :(得分:0)
npm install webpack-dev-server -g-Windows操作系统
最好在linux中使用sudo以避免权限错误
sudo npm install webpack-dev-server -g
您可以使用sudo npm install webpack-dev-server --save将其添加到package.json。
有时您可能需要运行以下命令。
npm install webpack-cli --save或npm install webpack-cli -g
答案 11 :(得分:0)
对于全局安装: npm install webpack-dev-server -g
用于本地安装 npm install --save-dev webpack
当您在package.json文件中引用webpack时,它会尝试在位置node_modules \ .bin \
中查找它本地安装后,文件wbpack将在以下位置创建: \ node_modules \ .bin \ webpack