为什么 Yarn 不在 .bin 文件夹中安装所有可执行文件?

Why doesn't Yarn install all executables in .bin folder?

我刚开始使用 Yarn 包管理器,我下载了一个入门 Ionic 2 项目。

在这个项目中,我们从编译、缩小、lint 和捆绑我们的代码的脚本中得到了很多帮助。所有这些都由 ionic-app-scripts 提供,它有几个依赖项用于 运行 命令。

问题是当我使用 Yarn 安装时,node_modules/.bin/ 文件夹不包含所有必要的可执行文件,例如 tslint,它是 ionic-app- 的依赖项脚本,所以它不直接在我的 package.json.

结果是,当我使用 Yarn 时,ionic-app-scripts 不起作用,因为它期望 .bin 文件夹包含一个 tslint 可执行文件!

我能做什么? ionic-app-scripts 的定义有问题吗?

[注意]:npm install 有效,但 Yarn 更快!

这是一个包含更多信息的known issue, and there's a pull request

简而言之,如果您想现在修复此问题,则必须在依赖项中明确包含需要二进制文件的包。

我遇到了这个问题,但有不同的解决方案。

解决方案来自这张票https://github.com/yarnpkg/yarn/issues/992#issuecomment-318996260

... my workaround is going to file manager, right click on /node_modules main folder, selecting properties, and check-uncheck "read-only". You can do it also using attrib in command line. Then you retry installation and it works.