如何解决无法在新的Homestead安装上编译Laravel资产
更新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。尝试使用--teams
首次安装Jetstream,即惯性堆栈。尝试了vagrant new
方法和composer方法。两次均失败,并出现以下错误。
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堆栈:惯性
- Laravel版本:^ 8.0
- PHP版本:^ 7.3
- Laravel安装程序版本:4.0.3
- NPM版本:6.14.8
解决方法
在我的MacBook Pro上出现了完全相同的问题,并在Homestead.yaml中的“文件夹”中添加了“ nfs”类型。是否有一个无业游民的重新加载--provision,现在npm将安装并编译
,我已经受此问题困扰很长时间了,看来问题出在 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
下一个选项仅在您的系统上可用,因为它“拥有”您正在使用的文件夹,所以具有所有权限。
与其在流浪汉中执行npm install,而是转到系统(您的计算机)中的文件夹,然后从那里使用命令。
如果您需要全新安装项目,请使用:
rm -rf node_modules
npm cache clean
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。