本地安装gulp后,node_modules文件夹丢失。

4
今天上课时我遇到了一个问题。我正在向我的学生展示如何安装和使用gulp.js,因此我必须在投影仪上展示整个过程。
我已经使用“npm install -g gulp”全局安装了node.js和gulp.js,并且一切都正常运行。
但是当我尝试在我正在工作的项目文件夹中本地安装gulp时,看起来gulp已经安装好了,但是node_modules文件夹从未被创建。
我尝试了刷新,以管理员身份运行命令提示符,检查了隐藏文件夹,但什么都没用。--- 我甚至重启了电脑再次尝试,因为这是Windows系统。
我正在使用Windows 10。
命令行输出的文字记录:
C:\Xampp\htdocs\test> node -v
v4.2.4

C:\Xampp\htdocs\test> npm -v
2.14.12

C:\Xampp\htdocs\test> gulp -v
[16:40:28] CLI version 3.9.1
[16:40:28] Local version 3.9.1

C:\Xampp\htdocs\test> npm install --save-dev gulp
npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated minimatch@0.2.14: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated graceful-fs@1.2.3: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.
gulp@3.9.1 ..\..\..\node_modules\gulp
├── interpret@1.0.1
├── pretty-hrtime@1.0.3
├── deprecated@0.0.1
├── archy@1.0.0
├── minimist@1.2.0
├── tildify@1.2.0 (os-homedir@1.0.2)
├── semver@4.3.6
├── v8flags@2.0.11 (user-home@1.1.1)
├── chalk@1.1.3 (escape-string-regexp@1.0.5, supports-color@2.0.0, ansi-styles@2.2.1, strip-ansi@3.0.1, has-ansi@2.0.0)
├── orchestrator@0.3.8 (stream-consume@0.1.0, sequencify@0.0.7, end-of-stream@0.1.5)
├── gulp-util@3.0.8 (array-differ@1.0.0, lodash._reescape@3.0.0, beeper@1.1.1, lodash._reevaluate@3.0.0, array-uniq@1.0.3, object-assign@3.0.0, lodash._reinterpolate@3.0.0, dateformat@2.0.0, replace-ext@0.0.1, has-gulplog@0.1.0, fancy-log@1.3.0, vinyl@0.5.3, gulplog@1.0.0, lodash.template@3.6.2, through2@2.0.3, multipipe@0.1.2)
├── vinyl-fs@0.3.14 (strip-bom@1.0.0, vinyl@0.4.6, defaults@1.0.3, graceful-fs@3.0.11, through2@0.6.5, mkdirp@0.5.1, glob-stream@3.1.18, glob-watcher@0.0.6)
└── liftoff@2.3.0 (lodash.isstring@4.0.1, lodash.isplainobject@4.0.6, lodash.mapvalues@4.6.0, extend@3.0.0, rechoir@0.6.2, flagged-respawn@0.3.2, resolve@1.2.0, fined@1.0.2, findup-sync@0.4.3)

注意:npm已经在我的路径中。

那么,对于我的学生们在没有任何package.json的新机器上,它是如何工作的呢? - Brian Emilius
此外,为什么你不首先使用 npm init 或克隆一些起始存储库呢? - vittore
实际上,我刚刚检查了一下,那个文件夹(向上3级)中没有package.json,但是现在node_modules已经在那里了...这真的很奇怪。我的意思是,你是正确的,但又不完全正确。 - Brian Emilius
你的问题:因为我正在教我的学生创建他们自己的样板文件,以便了解它们是如何制作和工作的。 - Brian Emilius
1
如果你正在创建一个项目,那么你应该从 npm init 开始。另外请查看 https://dev59.com/GWMl5IYBdhLWcg3wP08a。 - vittore
显示剩余6条评论
1个回答

2
您需要在当前目录中拥有 package.json 或名为 node_modules 的文件夹。如果您没有这两者之一,npm 将会在父级目录中寻找。更多详情,请查看NPM Installs Package Outside Current Directory的解答。
同时建议使用 npm init 命令开始创建 package.json 文件。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接