错误:找不到模块'webpack'

时间:2015-04-07 12:57:55

标签: node.js webpack

我刚开始使用webpack并且很难获得multiple-entry-points sample构建。示例中的webpack.config.js文件包含行

 var CommonsChunkPlugin = require("../../lib/optimize/CommonsChunkPlugin");

对我来说错误

Error: Cannot find module '../../lib/optimize/CommonsChunkPlugin'

搜索周围,我找到了使用带有表达式

的CommonsChunkPlugin的其他示例
var commonsPlugin = new webpack.optimize.CommonsChunkPlugin("common.js");

失败并显示错误

ReferenceError: webpack is not defined

更多搜索发现了许多例子,包括

var webpack = require('webpack');

我的构建现在失败了

Error: Cannot find module 'webpack'

我不知道如何继续。

18 个答案:

答案 0 :(得分:225)

将全局安装的包链接到您的项目

# IMPORT CSV FILE TO TABLE
LOAD DATA LOCAL INFILE '/path/to/file.csv'
INTO TABLE temptablename
FIELDS TERMINATED BY
ENCLOSED BY '"'
LINES TERMINATED BY '\r\n';

# EXPORT QUERY TO CSV FILE
SELECT c.Id as sfdcContactID, c.FirstName, c.ID__c as uid
FROM Contact c
INNER JOIN temptablename t ON c.ID__c = t.id
INTO OUTFILE '/path/to/output.csv' 
FIELDS ENCLOSED BY '"' 
TERMINATED BY ',' 
LINES TERMINATED BY '\r\n';

答案 1 :(得分:59)

在Windows上工作时,我已经在本地安装了webpack,它解决了我的问题

因此,在命令提示符下,转到要运行webpack的目录,在本地安装webpack(不带-g)并享受...

答案 2 :(得分:23)

似乎是一个常见的Windows问题。这为我解决了这个问题:

Nodejs cannot find installed module on Windows?

“添加一个名为NODE_PATH的环境变量,并将其设置为%USERPROFILE%\Application Data\npm\node_modules(Windows XP),%AppData%\npm\node_modules(Windows 7),或者npm最终在Windows风格上安装模块的地方要一劳永逸地完成它,在系统属性对话框的高级选项卡中将其添加为系统变量(运行control.exe sysdm.cpl,System,3)。“

请注意,您无法在NODE_PATH的值中实际使用其他环境变量。也就是说,不要只复制并粘贴上面的字符串,而是将其设置为实际解析的路径,如C:\Users\MYNAME\AppData\Roaming\npm\node_modules

答案 3 :(得分:8)

我在OS X上遇到此问题,这似乎是由于全局安装的webpack与我本地安装的webpack-dev-server之间的版本不匹配造成的。更新到最新版本摆脱了问题。

答案 4 :(得分:7)

在终端中运行以下命令:

npm install --save-dev webpack

npm install --save-dev webpack-dev-server

答案 5 :(得分:3)

我通过重新安装解决了相同的问题,执行以下命令

rm -Rf node_modules
rm -f package-lock.json
npm install

rm始终是危险的命令,尤其是对于-f,请注意在执行之前!!!!

答案 6 :(得分:2)

如果您已安装节点包并且仍然收到包未定义的消息,则可能是PATH链接到二进制文件时出现问题。只是为了澄清二进制和可执行文件基本上做同样的事情,即执行包或应用程序。 ei webpack ...执行节点包webpack。

在Windows和Linux中都有一个全局二进制文件夹。在Windows中我认为它类似于C:// Windows / System32,在Linux中它是usr / bin。当您打开终端/命令提示符时,它的配置文件将PATH变量链接到全局bin文件夹,以便您能够从中执行包/应用程序。

我最好的猜测是全局安装webpack可能无法将可执行文件成功放入全局二进制文件夹中。如果没有可执行文件,您将收到错误消息。这可能是另一个问题,但可以肯定地说,如果你在这里阅读这个,那么在全球范围内运行webpack并不适合你。

我对此问题的解决方法是取消全局运行webpack并将PATH链接到node_module二进制文件夹,即/node_modules/.bin。

<强> WINDOWS:    将node_modules / .bin添加到PATH。    Here是关于如何在Windows中更改PATH变量的教程。

<强> LINUX:    转到项目根目录并执行此操作...

export PATH:$PWD/node_modules/.bin:$PATH 

在Linux中,每次打开终端时都必须执行此命令。此处的This链接向您展示了如何永久更改PATH变量。

答案 7 :(得分:2)

全局安装webpack和CLI对我来说都是可行的。

npm i -g webpack webpack-cli

答案 8 :(得分:1)

在Windows上,我发现如果您在计算机上没有管理权限(即,您不是本地管理员),则会出现此问题。

正如其他人所建议的那样,解决方案似乎是在不使用-g提示的情况下在本地安装。

答案 9 :(得分:1)

打开npm命令提示符和-cd解决方案文件夹 接着 只需在NPM cmd提示符中运行 npm link webpack 并重新构建即可。

答案 10 :(得分:0)

就我而言,帮助我更改了父文件夹名称并从此名称中删除了一些 &,您也可以尝试更改保存代码的名称或文件夹。

答案 11 :(得分:0)

对于Visual Studio用户:右键单击npm文件夹,然后单击“还原软件包”。

答案 12 :(得分:0)

npm链接webpack 为我工作。

我的webpack配置:     “ webpack”:“ ^ 4.41.2”,     “ webpack-dev-server”:“ ^ 3.9.0”,     “ webpack-cli”:“ ^ 3.3.10”

答案 13 :(得分:0)

您可以尝试一下。

npm install --only=dev

对我有用。

答案 14 :(得分:0)

在VS 2017中构建非常简单的.NET Core 2.0应用程序时,我遇到了很多问题。这是AppVeyor的错误,但是在本地本质上是相同的  (出于安全考虑,省略了一些路径):

  

执行首次运行的Webpack构建...

     

module.js:327     抛出错误;

     

EXEC:错误:找不到模块'........ / node_modules / webpack / bin / webpack.js'

     

在Function.Module._resolveFilename(module.js:325:15)

     

在Function.Module._load(module.js:276:25)

     

在Function.Module.runMain(module.js:441:10)

     

启动时(node.js:140:18)

     

在node.js:1043:3

     

csproj(25,5):错误MSB3073:命令“ node node_modules / webpack / bin / webpack.js --config webpack.config.vendor.js”已退出,代码为1。

     

构建失败。

我偶然发现了this question and answer,并且发现我的本地实例在{Project Root} -> Dependencies -> npm文件夹上也有相同的警告标志。右键单击并单击“还原软件包”可以正确加载所有内容,并且我能够成功构建。

答案 15 :(得分:0)

对我来说,这是错误的错误反馈。

webpack.config.js中有配置错误,

删除文件并重新解决我的问题

答案 16 :(得分:0)

只是发现使用 Atom IDE终端并没有在本地安装依赖项(可能是一个错误,也可能只是我一个人)。在外部安装git bash并再次运行npm命令对我来说有效

答案 17 :(得分:0)

上面没有任何建议对我有用(包括NODE_PATH变量)。我创建了一个sym链接&#34; node_modules&#34;从我的本地文件夹到全局AppData(例如下面),它就像魅力一样。

C:\Users\mmoinuddin\AppData\Roaming\npm>mklink /D node_modules c:\essportreact\day1\node_modules
symbolic link created for node_modules <<===>> c:\essportreact\day1\node_modules
C:\essportreact\day1>webpack
Hash: 2a82a67f90f9aa05ab4a
Version: webpack 1.15.0