发布于 

写代码,真的要心态好

最近突然心血来潮,想学一下 Next.js。

因为看到许多用这个框架做出来的 Web 应用,都很好看,界面很美观。

所以就想着学一下 Next.js,以后要是有什么好点子,自己也能做出一个好看点的产品来。

通过搜索引擎找到了中文文档:https://www.nextjs.cn/learn/basics/create-nextjs-app/setup

结果第一步就进行不下去了。

1
npx create-next-app nextjs-blog --use-npm --example "https://github.com/vercel/next-learn-starter/tree/master/learn-starter"

按照文档执行上面的命令,一直报错,后面仔细排查,发现 https://github.com/vercel/next-learn-starter/tree/master/learn-starter 压根就访问不到,都 404 了。

这文档估计也是年久失修了。

当时我就想放弃了。

后面一想,还是看英文文档吧,虽然我英语不是很好,但看看文档应该也勉强还行。

于是找到了英文文档:https://nextjs.org/learn/dashboard-app

这个文档主要就是带你一步步把一个半成品的面板应用完善为成品。

一共有 16 小节。

英文文档倒是顺利很多了,虽然很多单词都看不懂,但是看代码就好了嘛。

而且每一步都有给出完整代码,或者会告诉你要在哪里加哪些代码,反正还是比较详细。

不过在 Chapter 15 的时候还是卡住了。

跟着文档来的,但是有两行代码一直报错。

1
2
import bcrypt from 'bcrypt';
import postgres from 'postgres';

第一行:通过问 GPT,把 bcrypt 改成 bcryptjs 解决,本地是可以了,但是部署到 Vercel 不行。当时已经很晚了,一直没弄好,第二天去了公司,空闲时又开始研究这个,最后改成 const bcrypt = require('bcrypt'); 终于解决。

第二行:直接参考前面章节的代码,改为使用 @vercel/postgres,并修改对应调用代码,解决问题(其实直接安装这个依赖应该也行,因为报的错就是没有这个模块,但是我懒得尝试了)。

晚上下班回来,把 Git 上的代码 pull 下来,打算本地继续把未完成的部分完成,结果 const bcrypt = require('bcrypt'); 这个写法在公司电脑和 Vercel 都没问题,但是在我自己电脑上却一直报错。

于是一直调试……

不停问 GPT……(其实我是想用 DeepSeek 的,但是老是服务器繁忙。)

但是还是一直不行。

最后我猜测,可能是我的 WebStorm 版本太低了?毕竟代码都是同一份,而两边的 NodeJS 也都早在之前就换成了一样的版本。

公司电脑是 2022 的,而我电脑还是 5 年前装的 2019。

搜索引擎上搜索了一下最新版破解激活教程。

按照教程,卸载旧版,安装新版,然后破解。

然而打开后还是提示要激活……

而且我发现我的 IDEA 也变成未激活了……

心态直接炸了好吗!当时啥也不想管了,想直接关机了!

后面喝了口水,冷静想了想,今天就先不弄了吧,但是还是要弄好,毕竟 WebStorm 和 IDEA 随时要用的。

于是今天就没再搞这些,而是来写博客了。

明天继续加油吧!


2025 年 2 月 11 更新。

关于 bcrypt 的问题,最后在 stackoverflow 上找到了解决办法。

需要先安装 node-gyp

1
npm install node-gyp -g

然后卸载再重新安装。

1
2
pnpm uninstall bcrypt
pnpm install bcrypt

这里我是用 pnpm 安装的,会出现这么一个提示:Ignored build scripts: bcrypt. Run "pnpm approve-builds" to pick which dependencies should be allowed to run scripts.

1
2
3
4
5
6
pnpm approve-builds

√ Choose which packages to build (Press <space> to select, <a> to toggle all, <i> to invert selection) · bcrypt
√ The next packages will now be built: bcrypt.
Do you approve? (y/N) · true
node_modules/.pnpm/bcrypt@5.1.1/node_modules/bcrypt: Running install script, done in 3s

按空格选中,在输入 y 回车即可。

重新运行发现可以了!

而我的 IDEA 和 WebStorm 也在根据教程重新清了一遍数据,然后重新破解后,成功激活了。