「CYarn」使用 cnpm 源的 Yarn
发布于 8 年前 作者 xcatliu 23697 次浏览 来自 分享

做的比较匆忙,请大家帮忙多测试一下,谢谢!

GitHub: https://github.com/xcatliu/cyarn


CYarn

使用 cnpm 源的 Yarn

Yarn 是一个快速、可靠、安全的 JavaScript 依赖管理工具。

  • Yarn 文档: https://yarnpkg.com/ (官方网站支持多语言,但是中文文档还没有)

安装 CYarn

npm install -g cyarn

或者使用 cnpm 源:

npm install -g cyarn --registry=https://registry.npm.taobao.org

其他修改源的方式

配置 yarn config

https://yarnpkg.com/en/docs/cli/config

yarn config set registry https://registry.npm.taobao.org

使用 yrm

https://github.com/i5ting/yrm

npm install -g yrm
yrm use cnpm

现有技术

CYarn 离不开这些现有技术:

9 回复

现在是yarn config set registry https://registry.npm.taobao.org 用的还挺好

多谢提醒,我一会儿把 yarn config set registry 的方式也写到 README.md 里面去。

其实yrm更好

https://github.com/i5ting/yrm

对nrm的改进版本

@i5ting 赞!已 star

@jiangzhuo @i5ting 已加

其他修改源的方式

配置 yarn config

https://yarnpkg.com/en/docs/cli/config

yarn config set registry https://registry.npm.taobao.org

使用 yrm

https://github.com/i5ting/yrm

npm install -g yrm
yrm use cnpm

@i5ting 装了之后 还需要装yarn吗?

@yuu2lee4 先装yarn,和nrm类似,你必须现有npm啊,小玩具,哈哈

hax 说的这么快就实现了 哈哈

修改了源后yarn config set registry https://registry.npm.taobao.orgwebpack-image-loader依赖的bin文件还是下载不下来 image.png 但是直接cnpm install webpack-image-loader 就能将 gifsicle 下载下来 其实这部操作是要从const url = https://raw.githubusercontent.com/imagemin/gifsicle-bin/v${pkg.version}/vendor/;拉取文件 具体可查看imagemin/gifsicle-bin 用cnpm拉取下来的_gifsicle@3.0.4@gifsicle仓库的lib/index.js文件的url地址呗cnpm给替换了

'use strict';
var path = require('path');
var BinWrapper = require('bin-wrapper');
var pkg = require('../package.json');

var url = 'https://raw.github.cnpmjs.org/imagemin/gifsicle-bin/v' + pkg.version + '/vendor/';

module.exports = new BinWrapper()
	.src(url + 'macos/gifsicle', 'darwin')
	.src(url + 'linux/x86/gifsicle', 'linux', 'x86')
	.src(url + 'linux/x64/gifsicle', 'linux', 'x64')
	.src(url + 'freebsd/x86/gifsicle', 'freebsd', 'x86')
	.src(url + 'freebsd/x64/gifsicle', 'freebsd', 'x64')
	.src(url + 'win/x86/gifsicle.exe', 'win32', 'x86')
	.src(url + 'win/x64/gifsicle.exe', 'win32', 'x64')
	.dest(path.join(__dirname, '../vendor'))
	.use(process.platform === 'win32' ? 'gifsicle.exe' : 'gifsicle');

@i5ting @xcatliu

回到顶部