我正在尝试使用Gulp和Node.Js来简化和连接CSS / JS文件以进行制作。
这就是我所做的。
npm install -g gulp
NODE_PATH
的新用户变量,将其设置为%AppData%\npm\node_modules
关闭并重新打开命令行后,我尝试从命令行运行gulp任务(即gulp css
)。但这给了我以下错误
'gulp' is not recognized as an internal or external command
我怎样才能让它发挥作用?
当我使用Windows中的搜索栏打开以下路径时,
%AppData%\npm\node_modules
我看到以下两个文件夹
gulp
gulp-cli
我已尝试将%AppData%\npm\node_modules
添加到系统变量的Path
变量中,但它没有接受它,因为该变量达到了允许的最大字符数限制。
我从Path
变量中删除了几条路径并添加了;C:\Users\[MyWindowsUserName]\AppData\Roaming\npm\node_modules
但仍无效。
我甚至尝试使用此命令在运行时设置路径
PATH=%PATH%;C:\Users\[MyWindowsUserName]\AppData\Roaming\npm\node_modules
然后运行gulp
并仍然存在相同的问题。
我在这里缺少什么?我还需要什么才能让它发挥作用?
答案 0 :(得分:62)
我最初在本地安装时遇到类似的问题(w / o -g)。我用-g(全局)重新安装,然后就可以了。
npm install -g gulp
你应该从gulpfile.js
可用的文件夹中运行gulp。
答案 1 :(得分:10)
我通过卸载NodeJs和gulp解决了这个问题,然后再重新安装。
要全局安装gulp,我执行了以下命令
npm install -g gulp
答案 2 :(得分:7)
转到My Computer>Properties>Advance System Settings>Environment Variables>
在Administrator的变量下编辑PATH变量&将其值更改为"C:\Users\Username\AppData\Roaming\npm"
。注意:路径中的用户名将是您已登录的当前管理员用户名。
答案 3 :(得分:1)
我在Windows 7上遇到了同样的问题。您必须手动编辑路径系统变量。
转到开始->编辑系统环境变量->环境变量->在系统部分中找到变量“路径”->编辑->在“;”之后添加新路径到文件gulp.cmd目录,例如“; C:\ Users \ YOURUSERNAME \ AppData \ Roaming \ npm”->单击“确定”并关闭这些窗口->重新启动CLI->享受
答案 4 :(得分:0)
抱歉这是一个错字。您可以将node_modules添加到用户的全局路径变量的末尾,也可以检查与该文件夹关联的权限(node _modules)。该错误似乎不是最后一种情况,但我遇到了与您类似的问题。在大多数情况下,我找到了第一个解决方案。只需转到环境变量并将node_modules的路径添加到用户路径变量的最后部分。注意我说的是用户而不是系统。
只需在变量声明的末尾添加分号,并将静态路径添加到node_module文件夹。 (例如:\ path \ to \ node_module)
或者你可以:
在你的CMD中
PATH=%PATH%;C:\\path\to\node_module
修改强>
只要您不关闭CMD,最后的解决方案就会有效。因此,使用第一个解决方案进行永久性更改。
答案 5 :(得分:0)
在我的情况下,出现此问题是因为我之前在项目文件夹中与另一个系统用户npm install
进行了对比。 Gulp已在全球安装。删除项目中的文件夹 / node_modules / ,并使用当前用户运行npm install
后,它就可以了。
答案 6 :(得分:0)
您需要确保在运行命令(安装npm -g gulp)时,它将在C:\目录中创建install gulp。
该目录应与您在java路径中设置的npm路径变量匹配。
从命令提示符运行路径,并验证这一点。如果没有,在你吞咽的地方改变你的java类路径变量。
它应该工作。
答案 7 :(得分:0)
如果您在Windows 10中安装了mysql,请尝试从计算机上卸载每个myqsl应用程序。它为我工作。确切地说,当我在计算机gulp命令中安装mysql并停止其他命令时,我已经尝试了一切,但对我没有任何帮助。
答案 8 :(得分:0)
我在节点v12.13.1上有同样的例外,
降级节点到v10.15.3,现在可以正常工作。
答案 9 :(得分:0)
最佳解决方案,您可以使用nvm安装程序来管理多个节点版本。然后,使用以下命令安装所需节点的版本
nvm install version
使用以下命令作为单独提及版本的工作节点
nvm use version
现在,您可以使用任何版本的节点,而无需卸载以前安装的节点。
答案 10 :(得分:0)
我刚在Windows 10和最新的NodeJS(14.15.1)上遇到过此问题。就我而言,我们的管理员可以将我们的配置文件和真正的“主”文件夹远程安装到我们的工作机上。 Npm希望将其缓存放到远程服务器上,并且一直有效到本发行版。
我不知道npm有一个.npmrc
文件可用。我在实际计算机的C:\Users\my-id
文件夹中添加了一个文件夹,其中包含:
prefix=C:\Users\my-id\nodejs\npm
cache=c:\Users\my-id\nodejs\npm-cache
我还将这些路径添加到了PATH
环境变量中。
我转到工作计算机和远程“家庭”服务器上的APPDATA
文件夹,并删除了所有与npm相关的漫游文件夹。我删除了项目中的node_modules
文件夹。
我关闭了所有打开的窗口,然后重新打开它们。我在项目目录中弹出命令提示符,并重新init
ed npm并重新安装了所需的模块。
此后一切都在进行。
答案 11 :(得分:0)
您可能需要全局安装 gulp-cli
。如果您已经拥有,请卸载然后重新安装:
npm uninstall -g gulp-cli
npm install -g gulp-cli