频繁处理 npm install 的报错问题实在太让人恼火了。一是网络慢的问题,换了 cnpm,结果又遇到一堆新问题。二是依赖系统太烂了,某一个小小的模块出问题会导致整个项目无法正常运行。
Deno 看起来很不错,查了一下,貌似好多常用工具还不能直接使用,到底什么时候才真正替代 npm 这个东西呢?
频繁处理 npm install 的报错问题实在太让人恼火了。一是网络慢的问题,换了 cnpm,结果又遇到一堆新问题。二是依赖系统太烂了,某一个小小的模块出问题会导致整个项目无法正常运行。
Deno 看起来很不错,查了一下,貌似好多常用工具还不能直接使用,到底什么时候才真正替代 npm 这个东西呢?
|
ericlsMar 23, 2021 via iPhone
1
Deno 代替的是 node.
|
|
imkuangMar 23, 2021
2
deno 要代替的不是 nodejs 吗? npm 只是一个 nodejs 的工具而已
|
|
3
不要换 cnpm,直接配置挂阿里的镜像,cnpm 和 npm+registry 好像还略有区别
|
|
Kasumi20Mar 23, 2021
4
yarn 替代 npm 还差不多
|
|
RocketerMar 23, 2021 via iPhone
5
暂时还不可见,流行的东西往往不是因为优秀,而是因为生态完善。
而且网络问题是中国特色,所以只能指望中国人自己解决。但你也知道,中国的开源氛围很呵呵。 |
|
HardrainMar 23, 2021
6
npm install 的不稳定是中国特色.
|
|
JDogMar 23, 2021
7
也不知道是我们前端开发烂还是 npm 烂,build 居然会 OOM
|
|
wellscMar 23, 2021
8
不明所以
|
|
rodrickMar 23, 2021
9
所以说没有梯子搞开发真的困难
|
|
hyriousMar 23, 2021
10
|
|
wxsmMar 23, 2021
11
不建议用 cnpm,安装的文件结构不一样,并且经常会遇到莫名其妙的问题。关于网络慢的问题,可以尝试使用 nrm 切换至国内源即可。
关于 deno,没有用过,不予置评~ |
|
12
不要用 cnpm,而是直接 npm config set registry
|
|
ayase252Mar 23, 2021 via iPhone
13
deno 是运行时,对标的是 node.js
deno 那套 url 直接引入,网络环境不好照样挂 |
|
zhuangzhuang1988Mar 23, 2021
14
好久没看到消息, 以为已经死了呢.
|
|
onecMar 23, 2021
15
包管理试试 pnpm,很好用
|
|
TimePPTMar 23, 2021 via Android
16
用了一阵 yarn,感觉好使
|
|
PharielMar 23, 2021 via iPhone
17
Deno 不太会替代 Node.js 生态埋下去了 重构火葬场🐶
|
|
optionalMar 23, 2021 via Android
19
npm 只要设置几个 binary 的 mirror 非常稳,其它的都是邪路
|
|
learningmanMar 23, 2021 via Android
20
deno 那套 url 引入,镜像都不好搞,更完蛋
|
|
yyfearthMar 23, 2021
21
|
|
yyfearthMar 23, 2021
22
deno 相当于内建了 npm 的 node
不过他学习 go 可以像浏览器一样直接引用远端的包 然后缓存在本地 这样其实有也是有利有弊的 好处是不需要一个包管理器了 坏处也是没有一个包管理器 导致镜像缓存或者 override 不好作了 就连 go 也在推进包管理器了 |
|
vevlinsMar 23, 2021
23
deno 的包管理跟 gomod 差不多,没感觉有什么好用的。
|
|
yl20181003Mar 23, 2021 via Android
24
给 npm 挂代理 配阿里镜像有时候会有莫名其妙的问题
|
|
superrichmanMar 23, 2021 via iPhone
25
npm 国内源也遇到过问题,主要是国内源没及时更新。
还是挂梯子用原版 npm 最靠谱 |
|
Chenamy2017Mar 23, 2021
26
最害怕 npm install 了,哎,没有梯子真是糟心
|
|
SystemLightMar 23, 2021
27
@Chenamy2017 配下阿里源不香么
|
|
otakustayMar 23, 2021
28
@JDog OOM 是因为 node 默认最多使用 1.7G 左右内存,超了就会爆。这个值其实用在 server 上还是很正常的,但用在 build 上,对应 java 、.net 、swift 这类也很有可能要 OOM
|
|
h82258652Mar 23, 2021
29
npm config set registry 搭配 yarn +1
用阿里源 不如说国内除了 .net 系的,基本都要镜像源吧,谷歌系的就不说了,什么 Rust 、Jenkins 、Docker 这些都要 |
|
30
私以为不会,另
``` alias cnpm="npm --registry=https://registry.npm.taobao.org \ --cache=$HOME/.npm/.cache/cnpm \ --userconfig=$HOME/.cnpmrc" ``` |
|
marcong95Mar 23, 2021
31
解决你的问题的最佳方案是 npm config set http_proxy <懂的都懂>
就算用 deno 替代,对于 deno 未来的各种 import { xx } from "https://github.com/aa/bb/cc.ts" 你还是需要 HTTP_PROXY=<懂的都懂> deno run xx.ts |
|
yuankuiMar 23, 2021
32
解决不了 npm 的问题,你也解决不了 deno 的问题。。
|
|
Terry05Mar 23, 2021
34
|
|
sunjourneyMar 23, 2021
35
@Kasumi20 yarn 都要被 pnpm 代替了,谈何 yarn 代替 npm
|
|
Q4h7388nR28s95faMar 23, 2021
36
关注 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 可能是更好的选择…… |
|
Q4h7388nR28s95faMar 23, 2021
37
目前 deno 官方提供的二进制是不支持 centos 7 的,如果要在 centos 7 下使用,需要自行编译,可以参考下面链接在 centos 编译 deno,或直接下载二进制文件:
https://gitee.com/haimadongli001/deno-binary-for-centos7 |
|
d7sus4Mar 23, 2021
38
你这个根本不是 npm or deno 的问题,deno URL 引入同样会有你懂的问题。
另:在我看来 deno 不可能取代 nodejs,一是 nodejs 本身并没有什么硬伤迫使这个最大、最活跃的生态往 deno 转移,二是 deno 所带来的安全、ts 、单一可执行文件、内置的标准库和工具之类对于开发者来说也没有很强的吸引力。 |
|
xcstreamMar 23, 2021
39
10 年内 0.1%
|
|
duyongbo520Mar 23, 2021
40
不要再换了,学不动了。🐶
|
|
GG668v26Fd55CP5WMar 23, 2021 via iPhone
41
npm 国内源很坑,跟官方不是完全同步的,搞出了很多不必要的报错,我说的就是阿里那个。
|
|
zhuweiyouMar 24, 2021
43
deno 对标的是 node,并不是 npm.
另外 deno 再过 10 年也代替不了 node. |
|
myCupOfTeaMar 24, 2021
44
@JDog oom 也不是 npm 的问题,npm 只是帮你执行了一下命令,实际上处理的是 webpack,node 默认限制了内存大小,oom 调大点 node 内存就好了,要不就换打包工具(oom 完全是打包工具,依赖库太多,代码过大等等导致的)
|
|
BalibaboMar 24, 2021
45
????这俩没啥关系啊
|