尝试访问时出现 404 Not found 错误 local.wordpress.dev

404 Not found error when tring to access local.wordpress.dev

我正在尝试在 Windows 机器上为 WordPress 开发设置 Varying Vagrant Vagrants。

我是 运行 Windows 8.1 Pro 64 位 OS 并安装了 Virtual Box 5.0 和 Vagrant 1.8.1。

在命令提示符中执行行 vagrant up --provision 后,出现以下错误,然后在尝试访问 local.wordpress.dev 时显示 404 Not Found

==> default: Initializing grunt in WordPress develop... This may take a few mome
nts.
==> default: >> Local Npm module "grunt-browserify" not found. Is it installed?
==> default: Loading "sass.js" tasks...
==> default: ERROR
==> default: >> Error: The `libsass` binding was not found in /srv/www/wordpress
-develop/node_modules/node-sass/vendor/linux-x64-11/binding.node
==> default: >> This usually happens because your node version has changed.
==> default: >> Run `npm rebuild node-sass` to build the binding for your curren
t node version.
==> default: Running "clean:all" (clean) task
==> default: >> 0 paths cleaned.
==> default: Running "copy:files" (copy) task
==> default: Created 142 directories
==> default: , copied 1247 files
==> default: Running "copy:wp-admin-css-compat-rtl" (copy) task
==> default: Copied 1 file
==> default: Running "copy:wp-admin-css-compat-min" (copy) task
==> default: Copied 2 files
==> default: Running "copy:version" (copy) task
==> default: Copied 1 file
==> default: Running "cssmin:core" (cssmin) task
==> default: >> 36 files created. 634.73 kB → 535.78 kB
==> default: Warning: Task "sass:colors" not found. Use --force to continue.
==> default: Aborted due to warnings.
==> default:
==> default: VVV custom site import
==> default: Cleaning the virtual machine's /etc/hosts file...
==> default: Adding domains to the virtual machine's /etc/hosts file...
==> default:  * Added vvv.dev from /srv/www/vvv-hosts
==> default:  * Added local.wordpress.dev from /srv/www/vvv-hosts
==> default:  * Added local.wordpress-trunk.dev from /srv/www/vvv-hosts
==> default:  * Added src.wordpress-develop.dev from /srv/www/vvv-hosts
==> default:  * Added build.wordpress-develop.dev from /srv/www/vvv-hosts
==> default: -----------------------------
==> default: Provisioning complete in 2911 seconds
==> default: For further setup instructions, visit http://vvv.dev
==> default: Running provisioner: shell...
    default: Running: inline script
==> default: mysql stop/waiting
==> default: mysql start/running, process 28333
==> default: Running provisioner: shell...
    default: Running: inline script
==> default:  * Restarting nginx nginx
==> default:    ...done.

请注意:我用以下内容手动修改了主机文件

192.168.50.4 vvv.dev local.wordpress.dev local.wordpress-trunk.dev src.wordpress-develop.dev build.wordpress-develop.dev

issue 已在 VVV GitHub 页面上报告。

是否有任何与 Windows 相关的内容导致上述错误并给出 404?我是 Vagrant 和 VVV 的新手,非常感谢您的帮助。

我不能肯定地说这个问题 NOT 与您的主机 (Windows) 有关,因为不清楚盒子是如何启动的。我也有一段时间没有使用 VVV 了。但是,您的主机似乎与该问题无关。

出于故障排除的目的,这里确实有两个问题,它们可能相关也可能不相关。

  1. 您问题中指出的错误来自 grunt,客户机(虚拟机内的操作系统)上的一个 node/npm 软件包无法加载它需要的包。

  2. 网络服务器(正在运行,因为它返回 404)没有提供您期望的文件。

我认为您的问题源于 grunt 无法 运行 准备服务器所需的所有任务,尽管原因尚不清楚。如果您熟悉命令行,您可以 ssh 进入来宾并尝试 运行 手动执行 grunt 任务并安装任何可能丢失的包。

为此,您需要找到包含 Gruntfile.jspackage.json 文件的目录。从那里,运行

npm install

希望所有软件包都能正确安装。如果您重新启动来宾,一切都应该正常。如果软件包没有正确安装,至少您应该对问题所在有了更好的了解。

最后,我解决了我报告的问题。

Windows 用户必须使用 vagrant up --provision,这解决了问题。确保以管理员身份 运行 命令提示符。

reported GitHub 中有类似的问题,并已通过这种方式解决。

更新:如果您安装了 WampServer 或 Xampp,请在安装 VVV 之前将其卸载。