3

更新 3(最新)

根据下面的建议(来自 justanothereddie),将驱动器配置为 NFS 解决了问题。我不知道为什么,所以将问题留待几天。

更新 2

刚刚购买了新的 MacBook Pro,但问题仍然存在。我可以运行npm install,前提是该文件夹未与主机共享。如果它与主机共享,它会失败。

更新 1

我发现如果我正在使用的驱动器没有与主机共享,我可以编译 Laravel 资产。我正在运行发行版的 VirtualBox 包,它是 6.1.10。最新版本是 6.1.12,所以也许可以修复它。

编辑:

本来我以为这个问题和 Laravel Jetstream 有关系,但现在我发现它与 Laravel 的关系更广泛。我已经vagrant destroy删除了机器,删除了我的 Homestead 目录,并从头开始重新安装了 Homestead。

当我这样做时laravel new my_project,安装正常,但是一旦我发出npm install它就会失败,并显示与以下相同的错误消息。我不明白为什么没有其他人报告这一点。这是一个非常简单的过程,过去我已经成功完成了大约 100 次,唯一没有尝试过的是新硬件或 VirtualBox 安装。

原帖:

vagrant destroy几天前做了并在我的 Ubuntu 主机(20.04.1)上安装了新的 Homestead。第一次尝试安装 Jetstream,惯性堆栈,带有--teams. 尝试了该vagrant new方法和作曲家方法。两次都失败,出现以下错误。

npm ERR! code ENOENT
npm ERR! syscall open
npm ERR! path /home/vagrant/code/ftmv2/node_modules/yargs/node_modules/yargs-parser/package.json.1863223755
npm ERR! errno -2
npm ERR! enoent ENOENT: no such file or directory, open '/home/vagrant/code/my_test/node_modules/yargs/node_modules/yargs-parser/package.json.1863223755'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent 

删除node_modules目录并重试npm_install,但结果是一样的。

  • Jetstream 版本:^1.2
  • Jetstream Stack:惯性
  • Laravel 版本:^8.0
  • PHP 版本:^7.3
  • Laravel 安装程序版本:4.0.3
  • NPM 版本:6.14.8
4

2 回答 2

5

在我的 MacBook Pro 上遇到了完全相同的问题,并在我的 Homestead.yaml 中的“文件夹”中添加了类型:“nfs”。是否进行了 vagrant reload --provision ,现在 npm 将安装和编译

于 2020-09-23T10:43:29.667 回答
4

我已经被这个问题困扰了很长时间,似乎问题是在laravel/homestead 框中使用npm install作为流浪用户,所以主要问题是同步文件夹的权限之一,这是 Homestead 的主要任务.yaml。

引用于:https ://www.vagrantup.com/docs/synced-folders/nfs.html

这个问题有两种解决方案:

一个可以让你在宅基地正常工作,另一个就像一个补丁。

在 Homestead.yaml 上的文件夹映射正下方插入下一行

type: "nfs"

此处的文档:https ://laravel.com/docs/8.x/homestead

下一个选项只是在您的系统中工作,它具有所有权限,因为它“拥有”您正在工作的文件夹。

不要在 vagrant 中执行 npm install ,而是转到系统(您的计算机)中的文件夹并从那里使用命令。

如果您需要全新安装您的项目,请使用:

rm -rf node_modules
npm cache clean
于 2020-10-07T22:15:32.333 回答