L01 学习记录

嗯,又回来了。晃了一圈,还是它最好。
社区更漂亮了。技术重要,氛围也很重要。

开了蓝灯,通过域名 xxx.test就访问不了了,只能通过ip http://192.168.10.10/ 访问,关掉蓝灯就能通过域名访问了。

1 homestead 和虚拟机

我默认安装的是最新的6版本的虚拟机,发现社区的homestead只能支持最高5.2版本的虚拟机。

2 yarn add cross-env 出错

解决办法:yarn add cross-env --no-bin-links

刚开始是 error An unexpected error occurred: "https://registry.yarnpkg.com/cross-env: ETIMEDOUT".

L01 学习记录

打开蓝灯,重复输入命令 yarn add cross-env后更新到第三步出错:

error An unexpected error occurred: "EIO: i/o error, symlink '../../../parser/bin/babel-parser.js' -> '/home/vagrant/code/one/node_modules/@babel/core/node_modules/.bin/parser'".

L01 学习记录

发现有 i/o 出错信息,联想到 (https://segmentfault.com/q/101000000616345...

字面意思是设置 npm install 时不要创建符号链接。查了下说是为了解决 linux 下的 npm 在 ntfs 分区上运行 npm install 遇到的创建软连接失败问题引入的。

那是不是这样的原因呢?
输入命令 yarn add cross-env --no-bin-links 再试,果然通过

L01 学习记录

3 cross-env: not found

执行完上一步,npm run dev 就会出现这个错误。baidu了一下,说是windows平台上的虚拟机特有的,需要删除package.json文件scripts中的cross-env

L01 学习记录

然后执行 npm run dev (4.2)出现错误

npm ERR! EIO: i/o error, symlink '../@babel/parser/bin/babel-parser.js' -> '/home/vagrant/code/one/node_modules/.bin/parser'

L01 学习记录

那就尝试着安装 yarn add @babel/parser --dev 或者 npm install --save-dev @babel/parser
安装就出现 13458个的那个进度条,每次都有它。随便npm install 一下,几十分钟完成不了,而且多数时候弹出的是出错信息。package.json里面就几个依赖包,node_modules文件夹却有100多兆大小,关键是还没怎么编码呢。真是费时间。

L01 学习记录
安装了还是出错

L01 学习记录

那就执行 npm run dev 吧,让它自己运行吧,上一次是等了好久没反应,所以执行npm install,出现上面的错误的,这次就一直让它去吧……

L01 学习记录

等了十几分钟,出现这个错误

L01 学习记录

百度发现 (http://www.pilishen.com/posts/reason-and-s...

好吧,又是微软Windows的锅~也即是我们在windows系统上使用NODE_ENV=production这样的方式来设置node环境时,因为windows的系统变量是%ENV_VAR%这种格式,而“行业标准”是$ENV_VAR这样的,当然windows上的bash例外。

那就删除 cross-env 吧,上面已经尝试过,出错后再把 NODE_ENV=development 什么的都删除吧

L01 学习记录

然后运行 npm run dev 竟然成功了……
然后还原代码,把 NODE_ENV=development 等都加回去,再执行 npm run dev ,尼玛,又成功了……

L01 学习记录

总结一下,就是windows里面使用homestead,要先删除 scripts里面的 cross-env 和 NODE_ENV=xxx 等,就可以运行 npm run dev 成功,我过后又加上  NODE_ENV=xxx 等,还是能再次运行  npm run dev 成功

-----

heroku里面绑定信用卡,就可以绑定自己的域名了,然后连接 github 仓库,选择自动更新,这样 git push 后,heroku上的网站就自动更新了。

9.3 密码重设 min:3

系统默认密码长度最少为8,想改为3,除了把min:8 修改min:3外,还有一个地方,找了好久,终于找到了

\vendor\laravel\framework\src\Illuminate\Auth\Passwords\PasswordBroker.php

protected function validatePasswordWithDefaults(array $credentials)
    {
        [$password, $confirm] = [
            $credentials['password'],
            $credentials['password_confirmation'],
        ];

        return $password === $confirm && mb_strlen($password) >= 3;
    }

9.4 重设密码通知

重设密码发送的邮件是框架内置的,标题 Laravel 的是 .env 里面第一行 APP_NAME 的内容。
邮件的内容在:

vendor\laravel\framework\src\Illuminate\Auth\Notifications\ResetPassword.php

public function toMail($notifiable)
    {
        if (static::$toMailCallback) {
            return call_user_func(static::$toMailCallback, $notifiable, $this->token);
        }

        return (new MailMessage)
            ->subject(Lang::getFromJson('Reset Password Notification'))
            ->line(Lang::getFromJson('You are receiving this email because we received a password reset request for your account.'))
            ->action(Lang::getFromJson('Reset Password'), url(config('app.url').route('password.reset', ['token' => $this->token, 'email' => $notifiable->getEmailForPasswordReset()], false)))
            ->line(Lang::getFromJson('This password reset link will expire in :count minutes.', ['count' => config('auth.passwords.users.expire')]))
            ->line(Lang::getFromJson('If you did not request a password reset, no further action is required.'));
    }

结尾部分没找到,不知道是哪个文件。

L01 学习记录


待续

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!