手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表全部文章

vagrant up报错:Error on Vagrant Up related to Guest Permissions

尝试使用laravel的时候,看到有推荐且指定要用Homestead,其实我一直用MAMP,看博客的人都知道。用了N年了。但从更早的博客看的话,应该是会发现我是用虚拟机+NFS来进行代码和虚拟域名管理的。

那时候只要装一个hosts管理软件,然后指定127.0.0.1 为host,同时将虚拟机的端口映射出来就行了。所有的apache/nginx配置都在虚拟机里完成。好处当然有,在那个没有vagrant的年代,vmware+虚拟机文件,团队里就有统一的开发环境了,这时候不用担心他们用windows还是用mac又或者用linux。环境统统一样。

现在homestead,其实也是做了同样的事情。各种东西帮你装好(嗯,以前装虚拟机还要自己折腾)

之前弄好的时候,vagrant ssh都可以直接免密登录的(毕竟读Homestead.yaml,其实是Homestead下有一个Vagrantfile,里面的脚本让他可以读到Homestead.yaml)。

刚才修改了一下Homestead.yaml,结果登录的时候就需要输入密码了,密码当然没啥问题,不就是vagrant么。但为什么呢?报错信息是:Guest-specific operations were attempted on a machine that is not ready for guest communication. This should not happen and a bug should be reported.网上查了查,很多人出现过这个情况:有人说,删了~/.vagrant.d目录就行了。但我不行啊。这个目录下有6G,而且我下的box是支持parallels desktop的。如果重下,代价太大了。(网速太慢)

我尝试vagrant halt再vagrant up,发现一个问题,提示我有一个port从8025没法映射到mac 的8025,而改成2200了。我想了想,好象我在mac安装了mailhog,难道是因为这个原因?于是我brew services stop mailhog,再vagrant up,果然 没有报错

再回到之前的google搜索,在这里:https://github.com/hashicorp/vagrant/issues/8499,有个人也有提出:

The fix for this issue was released in the plugin. The root cause is due to the network reset after applying port forwards. It causes DHCP configured devices to drop their address and re-acquire a new lease which leads to the "Guest-specific operations..." error. The fix adds a pause after applying the forwards before continuing. If you find that the pause is not long enough, it can be configured using a provider configuration option: https://www.vagrantup.com/docs/vmware/configuration.html#port_forward_network_pause

Cheers!

 

---EOF---

好了,问题解决。安心 睡觉

 

 

 

Tags: vagrant, homestead, mailhog

weui小程序安装出错:[WARNING] 找不到编译器:wepy-compiler-less。

 直接git clone weui小程序的项目,然后wepy build会出错。即使之前你运行npm install。

我是直接报:[WARNING] 找不到编译器:wepy-compiler-less。
解决方案不复杂:先npm install less 再 wepy build,一般就解决了。build的时候会自己安装wepy-compiler-less。
 
如果象我,还遇到下面的错误
npm WARN eslint-config-standard@7.1.0 requires a peer of eslint-plugin-promise@>=3.3.0 but none is installed. You must install peer dependencies yourself.
npm WARN wepy-compiler-less@1.3.14 requires a peer of less@^3.8.1 but none is installed. You must install peer dependencies yourself.
npm WARN wepy-weui-demo@1.0.0 No repository field.
 
+ wepy-compiler-less@1.3.14
updated 1 package and audited 7975 packages in 3.378s
found 10 vulnerabilities (7 low, 3 moderate)
 
这时候就需要根据提示:npm install -g eslint-plugin-promise@>=3.3.0,进行安装(其实上面也有说,是因为less没有安装)
这样的话,其实问题就都好解决

Tags: weui, wepy, 小程序, npm

vagrant使用parallels desktop

 使用laravel的人,好象一直都推荐使用homestead,所以我也就尝试了一下。由于默认的vagrant都是用的virtual box,而我一直是嫌弃他繁,而且几年前耗的资源让我心有余悸,再加上我本地本来就有Parallels Desktop,所以我就找找资料,看看能不能使用parallels。

结果是出人意料的好,官方也支持,只是需要安装个插件,戳这里看一下:https://parallels.github.io/vagrant-parallels/docs/getting-started.html,几行命令行可:vagrant plugin install vagrant-parallels

然后就是初始化了,vagrant init laravel/homestead,这时候会跳出个选择,就象这样:

XML/HTML代码
  1. ==> box: Loading metadata for box 'laravel/homestead'  
  2.     box: URL: https://vagrantcloud.com/laravel/homestead  
  3. This box can work with multiple providers! The providers that it  
  4. can work with are listed below. Please review the list and choose  
  5. the provider you will be working with.  
  6.   
  7. 1) hyperv  
  8. 2) parallels  
  9. 3) virtualbox  
  10. 4) vmware_desktop  
  11.   
  12. Enter your choice: 2  
  13. ==> box: Adding box 'laravel/homestead' (v8.0.0) for provider: parallels  

 

选择2 就行了。然后就会开始下载。由于下载地址在github上面,然后实际 是在aws的S3上,痛苦的事情就这样来了。。。不爬梯子动也不动。番了墙也只有400多K,所幸,1个多小时就下载下来了。

然后vagrant up --provider=parallels,这样就好了

XML/HTML代码
  1. vagrant up --provider=parallels  
  2. /opt/vagrant/embedded/gems/2.2.4/gems/vagrant-2.2.4/lib/vagrant/util/which.rb:37: warning: Insecure world writable dir /server in PATH, mode 040777  
  3. Bringing machine 'default' up with 'parallels' provider...  
  4. ==> default: Registering VM image from the base box 'laravel/homestead'...  
  5. ==> default: Creating new virtual machine as a linked clone of the box image...  
  6. ==> default: Unregistering the box VM image...  
  7. ==> default: Setting the default configuration for VM...  
  8. ==> default: Checking if box 'laravel/homestead' version '8.0.0' is up to date...  
  9. ==> default: Setting the name of the VM: blessappyzhancom_default_1563640904299_97304  
  10. ==> default: Preparing network interfaces based on configuration...  
  11.     default: Adapter 0: shared  
  12. ==> default: Clearing any previously set network interfaces...  
  13. ==> default: Running 'pre-boot' VM customizations...  
  14. ==> default: Booting VM...  
  15. ==> default: Waiting for machine to boot. This may take a few minutes...  
  16.     default: SSH address: 10.211.55.9:22  
  17.     default: SSH username: vagrant  
  18.     default: SSH auth method: private key  
  19.     default: Warning: Connection refused. Retrying...  
  20.     default:   
  21.     default: Vagrant insecure key detected. Vagrant will automatically replace  
  22.     default: this with a newly generated keypair for better security.  
  23.     default:   
  24.     default: Inserting generated public key within guest...  
  25.     default: Removing insecure key from the guest if it's present...  
  26.     default: Key inserted! Disconnecting and reconnecting using new SSH key...  
  27. ==> default: Machine booted and ready!  
  28. ==> default: Checking for Parallels Tools installed on the VM...  
  29. ==> default: Parallels Tools installed on this VM are outdated! In most cases  
  30. ==> default: this is fine but in rare cases it can cause things such as shared  
  31. ==> default: folders to not work properly. If you see shared folder errors,  
  32. ==> default: please update Parallels Tools within the virtual machine and  
  33. ==> default: reload your VM.  
  34. ==> default: Installing the proper version of Parallels Tools. This may take a few minutes...  
  35. ==> default: Parallels Tools have been installed. Rebooting the VM...  
  36. ==> default: Attempting graceful shutdown of VM...  
  37. ==> default: Running 'pre-boot' VM customizations...  
  38. ==> default: Booting VM...  
  39. ==> default: Waiting for machine to boot. This may take a few minutes...  
  40. ==> default: Machine booted and ready!  
  41. ==> default: Mounting shared folders...  
  42.     default: /vagrant => /server/wwwroot/yzhan/test.com  

 

运行一下vagrant ssh ,顺利登录,而且看到 当前项目目录下有一个 .vagrant的目录,里面都是一些配置文件等。

到此,安装结束,看了下进程,占CPU0.x,内存400多M。ssh进去后php-fpm的进程超级多。从5.6~7.3的都有。安心的用了

 

Tags: vagrant

chrome清除强制https网址记录

本地采用mamp pro进行开发,这意味着,我可以使用 163.com给本地项目,但其实这个域名是被mamp pro 写到了/etc/hosts中,定义为127.0.0.1

OK,现在说正事,线上域名,我采用了类似test.app.yzhan.com,给mamp的项目也是这样定义。所以,在极端情况下,我可能分不清哪个是线上,哪个是线下。问题就这样发生了。因为我test.app.yzhan.com为了装逼,引入了https。但本地没有启用。这个好处是啥?打开http的时候,我就知道,这肯定是本地,打开https的时候这肯定是线上。

然而新版的chrome却不管这些。如果你先打开test.app.yzhan.com再打开https://test.app.yzhan.com,神奇的效果就这样发生了。无论你怎么输入http://test.app.yzhan.com,chrome都会帮你跳转到https://test.app.yzhan.com。这可不是我想要的。。。

找了下资料,问了下google,找到:chrome://net-internals/#hsts,在最下面的 Delete domain security policies, 将域名输入进去,点击删除,世界清静 了

Composer 国内镜像增加

 自从 laravel-china他们发了牢骚,说是镜像被人恶意引用,自己找不住了。果然这两天国内又增加了两个

1、https://mirrors.cloud.tencent.com/composer/ ,用法:

composer config -g repos.packagist composer https://mirrors.cloud.tencent.com/composer/
 

2、https://mirrors.aliyun.com/composer/index.html,用法:

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
 

还没有测试,之前腾讯的我试过不行,所以继续 在用laravel-china的。不知道阿里怎么样。

 

#更新

腾讯云的还是不要用吧,我用composer update的时候,报错:https://mirrors.cloud.tencent.com/composer/p/provider-2013%2487216f389bc25a4f5d03d0cfb1a56cff043b3b3d9cb8faf4

  1214c3001d51cb37.json 说是这个文件签名不符:The contents of https://mirrors.cloud.tencent.com/composer/p/provider-2013%2487216f389bc25a4f5d03d0cfb1a56cff043b3b3d9cb8faf4

  1214c3001d51cb37.json do not match its signature.用浏览器打开一看,我靠,文件404,也不知道他是怎么做镜像的。哎。(放弃吧)

看了下laravel-china,他们申请不再提供了(即将)。然后他们也提供了一些镜像地址(网址是:https://learnku.com/composer/wikis/30594),比如:

安畅网络镜像

镜像类型:全量镜像
更新时间:1 分钟
镜像地址:https://php.cnpkg.org
官方地址:https://php.cnpkg.org/
镜像说明:此 Composer 镜像由安畅网络赞助,目前支持元数据、下载包全量代理。

 

交通大学镜像

镜像类型:非全量镜像
镜像地址:https://packagist.mirrors.sjtug.sjtu.edu.c...\
官方地址:https://mirrors.sjtug.sjtu.edu.cn/packagis...\
镜像说明:上海交通大学提供的 composer 镜像,稳定、快速、现代的镜像服务,推荐使用。

---EOF--

感谢这些平台为PHP开源世界做的贡献,就是不知道PHP还能走多远,或许下一步就是GO或者PYthon了。如果PHP只是用来做API(做CRUD),那么go和python短时间内肯定还不如php好用,但如果是做其他,比如爬虫类的,PHP就远远不行了(不是不能做,而且总差那么一口气,虽然我们在最早实现了PHP的工业化采集器,但真要用来做大型的,还是不够),其实这些年已经尝试半工业化了,比如实现PHP采集Server,队列,远程扔个规则上来,接下来就自动处理,多台机器读取队列等等。总还是没有象其他语言那样(我看情况是不是整理整理放出来,代码很垃圾)

Tags: composer