4

我正在使用 Windows 7、Visual Studio 2013。我正在尝试在我的客户项目中设置 Gulp。

我已将这些 Nuget 添加到项目中:Node.js 版本 0.12.0 Npm.js 版本 1.3.15.10。

出于某种原因,我不知道,当npm init默认项目是客户端时在 nuget 包管理器中运行时,它不会创建 package.json 文件,不会询问有关文件的问题,并且命令永远不会退出。

这是否与我只通过 Visual Studio 项目工作的事实有关?后来我通过安装程序下载了 Node.js,因为我发现我的电脑上没有 node.js 的版本。

我还需要在 Visual Studio 之外安装 npm 吗?我无法访问那里的网络,我应该获得一个 .msi 文件吗?

关于 Gulp nuget 包,我在其他站点中读到 Gulp 应该使用以下命令通过 npm 安装:npm install gulp -g -save dev. 我无法运行该命令,因为我没有网络连接,因此如何仅使用 gulp nuget 包来执行此操作?

请帮助我了解运行 node.js、npm 和 Gulp 需要哪些步骤

4

2 回答 2

0

我不知道这是怎么回事npm init,但我的第一个建议是尝试更新版本的 npm——当前版本是 3.9.6;我怀疑如果您使用更新的版本,您会过得更好。通常,npm 和 node 旨在全局安装,而不是单个包;我对 nuget 了解不多,但这也可能会造成麻烦(我认为,如果您在本地安装 npm,您应该可以很好地使用它,不过,就像./node_modules/.bin/npm init --yes,这​​就是我将其列在第二位的原因)。您可以让 msi 在此处安装两者的 lts 版本,尽管我猜您没有网络访问权限。如果这不起作用,您可以相当容易地手动创建一个package.json,它会和自动生成的一样好——这里 一些 合理 的例子。您也可以考虑向npm 提交问题

至于在无法运行时如何安装 gulp npm i -g,这比您预期的要容易解决。本地安装的 gulp 和本地安装的 gulp 没有区别,它们只是在访问时使用了两个不同的脚本。当你require("gulp")maingulp中列出脚本时,在命令行中运行时,在bin中列出脚本,并且两者都包含在本地和全局安装中(您可以查看gulp 的 package.json了解更多信息细节)。因此,这对于全局安装意味着您需要做的就是获取 gulp 的 bin 文件(node_modules/gulp/bin/gulp.jsnode_modules/.bin/gulp,它指向node_modules/gulp/bin/gulp.js)以某种方式在您的 PATH 上(您不能只是将脚本复制到路径上的文件夹中,但是它还需要 node_modules 中的文件夹中的所有其他内容才能工作),或者您可以从本地安装中调用 bin 脚本直接(我是 linux 用户,所以我会compile像这样运行任务:./node_modules/.bin/gulp compile--我不知道如何使用 Windows,所以我希望这能让你足够接近)。

于 2016-06-06T05:23:00.027 回答
0

该命令似乎无限运行,因为您没有提供任何响应。该npm init命令是交互式的,只有在您为每个输入请求提供响应时才会继续。

文档中:

这会问你一堆问题,然后给你写一个package.json。

如果要使用 的默认配置,则package.json可以npm init -y改为运行。

如果您使用 -f、--force、-y 或 --yes 调用它,它将仅使用默认值,并且不会提示您输入任何选项。

于 2016-05-30T10:13:38.383 回答