标签‘npm’

npm link、yarn link及yarn workspaces使用

前端项目越来越大,成熟的团队免不了分模块开发再集成,有时候我们也会发布一些npm包用于拆分维护各种模块,这种时候,在正式发布前,我们的包往往不太方便测试,比如要输出bin等操作。

还好,npm以及后起之秀yarn都为我们提供了便捷的方式。

1、npm link/yarn link

在希望同步开发的组件包下执行(假设为component-a)

npm link
// or
yarn link

如果是npm,执行后如果项目没有node依赖,会在根目录创建一个空的node_modules,yarn则不会
查看更多...

使用yarn配置resolutions解决依赖错误

去年3月份,npm圈子发生过这样一件事,一个不过 11 行的工具函数left-pad被作者从npm上撤下,所有直接和间接依赖它的包就这么齐刷刷挂了,包括babel和react-native这样每天安装数万的热门项目。而Azer删除他所有的npm包又是另一个故事:Azer写了一个工具叫kik发布在npm上,这天有个同名的公司律师找上门要求他删掉,Azer不从,这律师就找上npm,npm把包的管理权限转给了这家公司——当然,Azer就怒了,从npm上解放了所有自己发布的包。

事件之后,有人给出了类似问题的解决之道,使用npm的bundledDependencies。不过,很多库作者并不会真的这样用起来,于是,今天又碰到了类似的问题,vue前端界自然是人尽皆知,配套的vue-loader更可谓是必需品,就是在vue-loader里引入的一个库——js-beautify,今天从1.6.14更新到了1.7.0,但是作者似乎写了个bug,于是依赖于node构建的我们,出现了如此异常

Module build failed: Error: Cannot find module './lib/beautify'
//...

官方issue里便出现了如此景象 查看更多...

sudo * 提示 command not found 解决

linux下经常遇到使用非root用户安装软件,使用sudo时提示找不到命令。

比如使用nodejs时候,出现

sudo: node: command not found
sudo: npm: command not found

很多文章说export临时修改环境变量或者直接sudo后chown指定命令所在文件夹的所有者,但是我们通常是在非root用户下使用,所以只需在root用户下增加部分软连接即可 查看更多...