Gulp 没有安装在 Laravel Homestead VM 上(来自 Windows)并且 package.json 目录中不存在 node_modules 文件夹?

Gulp didn't install on Laravel Homestead VM (from Windows) and no node_modules folder exists in the directory with package.json?

我启动了 Laravel Homestead 并且 运行,除非我发出这个 ssh 命令:

gulp

我收到这个错误:

Local gulp not found in ~/projects/laravel
Try running: npm install gulp

那时我注意到这个目录中根本没有 node_modules 文件夹。诡异的。当我执行 vagrant up 时,这是路径对于 Windows 来说太长的问题吗?由于此 VM 的主机是 Windows 并且我正在与我的 VM 共享文件夹( 实际上我不是,而是我正在使用 phpStorm 的同步以便页面加载速度更快VM),当我执行npm install时,我还会遇到问题吗?嗯...我猜 Taylor Otwell 正在使用 Mac 进行开发。有人对此有解决方案吗?

解决了!

是的,对于 Windows 来说,这些软件包安装的某些路径似乎太长了。这意味着您只能在 VM 启动后安装 gulp 包。这是我所做的:(我还包括一个与 phpStorm 一起使用的步骤 (since it will keep server pages loading faster on the VM)

  1. 通过 SSH 连接到 VM 并在项目目录(package.json 所在的目录)中创建一个名为 node_modules 的文件夹。
  2. 在 phpStorm 中,转到 File > Settings > Build, Execution, Deployment > Deployment 并单击 Excluded Paths 选项卡。单击 Add deployment path 按钮并添加步骤 1 中的文件夹 node_modules
  3. SSH 回到 VM 和项目文件夹(应该是 package.json 的目录文件夹)和 运行 这个命令:npm install。这会将 package.json 文件中列出的所有包本地安装到您所在的目录,并将必要的文件放入文件夹 node_modules.
  4. 现在 运行 gulp 命令:gulp

更新:

如果您真的更喜欢通过 挂载的文件夹 进行文件共享,那么我创建了一个 Gist 来指导人们解决我面临和必须解决的所有挑战,包括如何在访客环境中成功 运行 npm install:
Laravel Homestead for Windows (includes fixes)

您应该先 install node 在您的本地机器上。

然后,导航到您的项目文件夹并删除 node_modules 目录。

运行 在项目目录内的本地计算机上:

npm install gulp --save-dev