频繁处理 npm install
的报错问题实在太让人恼火了。一是网络慢的问题,换了 cnpm,结果又遇到一堆新问题。二是依赖系统太烂了,某一个小小的模块出问题会导致整个项目无法正常运行。
Deno 看起来很不错,查了一下,貌似好多常用工具还不能直接使用,到底什么时候才真正替代 npm 这个东西呢?
1
ericls 2021-03-23 11:07:43 +08:00 via iPhone
Deno 代替的是 node.
|
2
xiri 2021-03-23 11:07:47 +08:00
deno 要代替的不是 nodejs 吗? npm 只是一个 nodejs 的工具而已
|
3
murmur 2021-03-23 11:10:18 +08:00 1
不要换 cnpm,直接配置挂阿里的镜像,cnpm 和 npm+registry 好像还略有区别
|
4
Kasumi20 2021-03-23 11:10:25 +08:00
yarn 替代 npm 还差不多
|
5
Rocketer 2021-03-23 11:11:11 +08:00 via iPhone
暂时还不可见,流行的东西往往不是因为优秀,而是因为生态完善。
而且网络问题是中国特色,所以只能指望中国人自己解决。但你也知道,中国的开源氛围很呵呵。 |
6
Hardrain 2021-03-23 11:13:16 +08:00
npm install 的不稳定是中国特色.
|
7
JDog 2021-03-23 11:17:46 +08:00
也不知道是我们前端开发烂还是 npm 烂,build 居然会 OOM
|
8
wellsc 2021-03-23 11:20:24 +08:00
不明所以
|
9
rodrick 2021-03-23 11:20:47 +08:00
所以说没有梯子搞开发真的困难
|
10
hyrious 2021-03-23 11:21:40 +08:00
|
11
wxsm 2021-03-23 11:22:24 +08:00
不建议用 cnpm,安装的文件结构不一样,并且经常会遇到莫名其妙的问题。关于网络慢的问题,可以尝试使用 nrm 切换至国内源即可。
关于 deno,没有用过,不予置评~ |
12
skiy 2021-03-23 11:28:13 +08:00 3
不要用 cnpm,而是直接 npm config set registry
|
13
ayase252 2021-03-23 11:32:04 +08:00 via iPhone
deno 是运行时,对标的是 node.js
deno 那套 url 直接引入,网络环境不好照样挂 |
14
zhuangzhuang1988 2021-03-23 11:32:56 +08:00
好久没看到消息, 以为已经死了呢.
|
15
onec 2021-03-23 11:34:48 +08:00
包管理试试 pnpm,很好用
|
16
TimePPT 2021-03-23 11:44:12 +08:00 via Android
用了一阵 yarn,感觉好使
|
17
Phariel 2021-03-23 11:46:10 +08:00 via iPhone
Deno 不太会替代 Node.js 生态埋下去了 重构火葬场🐶
|
19
optional 2021-03-23 11:48:17 +08:00 via Android
npm 只要设置几个 binary 的 mirror 非常稳,其它的都是邪路
|
20
learningman 2021-03-23 11:49:15 +08:00 via Android
deno 那套 url 引入,镜像都不好搞,更完蛋
|
21
yyfearth 2021-03-23 12:07:08 +08:00
|
22
yyfearth 2021-03-23 12:10:14 +08:00
deno 相当于内建了 npm 的 node
不过他学习 go 可以像浏览器一样直接引用远端的包 然后缓存在本地 这样其实有也是有利有弊的 好处是不需要一个包管理器了 坏处也是没有一个包管理器 导致镜像缓存或者 override 不好作了 就连 go 也在推进包管理器了 |
23
vevlins 2021-03-23 12:16:42 +08:00
deno 的包管理跟 gomod 差不多,没感觉有什么好用的。
|
24
yl20181003 2021-03-23 12:22:39 +08:00 via Android
给 npm 挂代理 配阿里镜像有时候会有莫名其妙的问题
|
25
superrichman 2021-03-23 12:33:52 +08:00 via iPhone
npm 国内源也遇到过问题,主要是国内源没及时更新。
还是挂梯子用原版 npm 最靠谱 |
26
Chenamy2017 2021-03-23 12:54:57 +08:00
最害怕 npm install 了,哎,没有梯子真是糟心
|
27
SystemLight 2021-03-23 13:19:25 +08:00
@Chenamy2017 配下阿里源不香么
|
28
otakustay 2021-03-23 13:28:11 +08:00
@JDog OOM 是因为 node 默认最多使用 1.7G 左右内存,超了就会爆。这个值其实用在 server 上还是很正常的,但用在 build 上,对应 java 、.net 、swift 这类也很有可能要 OOM
|
29
h82258652 2021-03-23 13:35:05 +08:00
npm config set registry 搭配 yarn +1
用阿里源 不如说国内除了 .net 系的,基本都要镜像源吧,谷歌系的就不说了,什么 Rust 、Jenkins 、Docker 这些都要 |
30
catinsides 2021-03-23 13:50:29 +08:00 1
私以为不会,另
``` alias cnpm="npm --registry=https://registry.npm.taobao.org \ --cache=$HOME/.npm/.cache/cnpm \ --userconfig=$HOME/.cnpmrc" ``` |
31
marcong95 2021-03-23 14:09:16 +08:00
解决你的问题的最佳方案是 npm config set http_proxy <懂的都懂>
就算用 deno 替代,对于 deno 未来的各种 import { xx } from "https://github.com/aa/bb/cc.ts" 你还是需要 HTTP_PROXY=<懂的都懂> deno run xx.ts |
32
yuankui 2021-03-23 14:20:29 +08:00
解决不了 npm 的问题,你也解决不了 deno 的问题。。
|
34
Terry05 2021-03-23 14:23:58 +08:00
|
35
sunjourney 2021-03-23 14:26:58 +08:00
@Kasumi20 yarn 都要被 pnpm 代替了,谈何 yarn 代替 npm
|
36
HiCode 2021-03-23 15:14:04 +08:00
关注 deno 近一年,目前已经写好基础 web 框架,但还未将实际业务转移过来。
最开始遇到的就是网络问题,之前用网友提供镜像服务,后来他停止服务了,只能本机开 v2,然后要求 deno 通过本地代理去请求。发布到线上的时候,先 bundle 。 不想用 node,主要就是 npm 太“重”,拉一个小项目,删除的时候发现几万个文件需要删,硬盘表示很酸爽。 deno 目前大部分的扩展,都是基于 ts 去开发的,例如第三方的 mysql 和 redis 的驱动等等,我更希望官方能提供基于 rust 开发的扩展,像 php 那样。不然各个扩展基于不同版本的 std 库,最终打包出来的文件非常大,里面包含大量重复的不同版本的代码。 1.8.1 版本时,遇到 deno 在 windows ltsc 上会崩溃(1.8.2 又莫名其妙好了),就花点时间体验其他 js 运行时。 挺喜欢 fibjs 的,奈何贡献人数少,在实际体验时撞到不少 bug (例如 sandbox 的 freeze 无法调用、fs 的 watch 方法在检测目录时,无法提供准确的文件名……)。 还有 txiki.js ,不过这个还有待完善( win 和 linux 下都编译失败),按 quickjs 提供的接口,可以很方便通过 c 或其他语言生成.so/.dll 扩展,后续会继续关注 txiki.js 。 nginx njs 只大概看了一下,没有深入…… 就目前来说,对比 node.js ,deno 可能是更好的选择…… |
37
HiCode 2021-03-23 15:24:03 +08:00
目前 deno 官方提供的二进制是不支持 centos 7 的,如果要在 centos 7 下使用,需要自行编译,可以参考下面链接在 centos 编译 deno,或直接下载二进制文件:
https://gitee.com/haimadongli001/deno-binary-for-centos7 |
38
d7sus4 2021-03-23 15:37:54 +08:00
你这个根本不是 npm or deno 的问题,deno URL 引入同样会有你懂的问题。
另:在我看来 deno 不可能取代 nodejs,一是 nodejs 本身并没有什么硬伤迫使这个最大、最活跃的生态往 deno 转移,二是 deno 所带来的安全、ts 、单一可执行文件、内置的标准库和工具之类对于开发者来说也没有很强的吸引力。 |
39
xcstream 2021-03-23 16:10:15 +08:00
10 年内 0.1%
|
40
duyongbo520 2021-03-23 16:56:34 +08:00
不要再换了,学不动了。🐶
|
41
falcon05 2021-03-23 17:01:05 +08:00 via iPhone
npm 国内源很坑,跟官方不是完全同步的,搞出了很多不必要的报错,我说的就是阿里那个。
|
43
zhuweiyou 2021-03-24 00:49:38 +08:00
deno 对标的是 node,并不是 npm.
另外 deno 再过 10 年也代替不了 node. |
44
myCupOfTea 2021-03-24 08:55:05 +08:00
@JDog oom 也不是 npm 的问题,npm 只是帮你执行了一下命令,实际上处理的是 webpack,node 默认限制了内存大小,oom 调大点 node 内存就好了,要不就换打包工具(oom 完全是打包工具,依赖库太多,代码过大等等导致的)
|
45
xutao881 2021-03-24 10:50:15 +08:00
????这俩没啥关系啊
|