使用yarn 1.x获取.yarnrc中定义的–modules-folder参数的值
.yarnrc文件可以用于对Yarn 1.x进行额外的配置。例如在.yarnrc可以设置node_modules的路径。
--modules-folder "/path/to/node_modules"
在运行Yarn 1.x命令时将自动获取该配置。
Yarn 1.x命令有一个子命令config可以用于获取各种配置。例如运行:
yarn config list
输出为:
yarn config v1.22.0
info yarn config
{
'version-tag-prefix': 'v',
'version-git-tag': true,
'version-commit-hooks': true,
'version-git-sign': false,
'version-git-message': 'v%s',
'init-version': '1.0.0',
'init-license': 'MIT',
'save-prefix': '^',
'bin-links': true,
'ignore-scripts': false,
'ignore-optional': false,
registry: 'https://registry.yarnpkg.com',
'strict-ssl': true,
'user-agent': 'yarn/1.22.0 npm/? node/v13.8.0 darwin x64',
lastUpdateCheck: 1583307470696,
'--modules-folder': '/path/to/node_modules'
}
info npm config
{}
✨ Done in 0.04s.
其中'--modules-folder': '/path/to/node_modules'
即为在.yarnrc中设置的--modules-folder
参数。
使用config的get子命令可以单独获得其中的某一项,语法为:
yarn config get <key>
例如:
yarn config get registry
将获得
https://registry.yarnpkg.com
然而尝试获得--modules-folder
时:
yarn config get --modules-folder
报错
error: option `--modules-folder <path>' argument missing
加引号:
yarn config get '--modules-folder'
yarn config get "--modules-folder"
也返回相同的错误。
原因在于Yarn 1.x命令也有--modules-folder
参数。
--modules-folder <path> rather than installing modules into the node_modules folder relative to the cwd, output them here
前面报错的原因就是--modules-folder
被识别成了Yarn 1.x命令的参数。
翻了好久的文档没有找到,后来参照命令行约定俗成的写法,尝试增加--
:
yarn config get -- --modules-folder
成功获得参数值。
/path/to/node_modules