我正在使用react-native
我在全球安装的软件包npm
.现在它在执行init
命令后的第一行说.下列:
Installing react-native from npm...
Consider installing yarn to make this faster: https://yarnpkg.com
Run Code Online (Sandbox Code Playgroud)
所以我正在检查那个网站,它看起来很有趣,但我不知道它会是什么.起初,我认为我需要brew
安装yarn
,所以我可以安装纱线npm
.但现在我认为这yarn
是一个替代品npm
.这是正确的陈述吗?
为什么我要拥有这么多包管理器?
我知道像Atom或Visual Studio Code这样的软件有自己的包管理器很有用.但是对于开发,我没有看到有人想要使用四个不同的包管理器的原因(brew用于'主要软件',yarn
用于npm
包,npm用于后端模块和bower用于前端库).如何解决这个包管理器森林?
我在Windows 7(64位)计算机上的DOS控制台中运行以下命令.
npm install -g yarn
yarn add global react-native
yarn add global react-native-cli
react-native init sample
Run Code Online (Sandbox Code Playgroud)
运行后react-native init sample
,控制台已关闭.
错误日志显示:
D:\Mobile>"$basedir/../../Users/pramaswamy/AppData/Local/Yarn/.global/node_modules/.bin/react-native.cmd" "$@"
D:\Mobile>exit $?
Run Code Online (Sandbox Code Playgroud) 我的yarn.lock 文件中的一个依赖项存在问题。问题出在 ldapjs 上,最新版本有一个关于用户或密码中特殊字符的错误,所以我想将其冻结在最新的工作版本 1.0.2 中。
当我将代码提交到 master 分支时,构建该项目的步骤开始失败,说出标题的消息。
这是我的 dockerfile
FROM repository/node-oracle:10.15.3
LABEL maintainer="Me"
RUN yarn cache clean
# Add Tini
ENV TINI_VERSION v0.18.0
ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /tini
RUN chmod +x /tini
ENTRYPOINT ["/tini", "--"]
WORKDIR /usr/src/auth
COPY . .
RUN yarn install --frozen-lockfile --non-interactive --silent
ENV PATH /usr/src/auth/node_modules/.bin:$PATH
EXPOSE 3000
CMD ["node", "./bin/www"]
Run Code Online (Sandbox Code Playgroud)
有什么办法可以让我完成这项工作吗?
另外作为额外信息,我能够在功能分支中通过此步骤运行管道,该消息在开发和主分支中启动。
[更新]
这些是在我的yarn.lock 文件中更新和冻结的依赖项
activedirectory@^0.7.2:
version "0.7.2"
resolved "https://registry.yarnpkg.com/activedirectory/-/activedirectory-0.7.2.tgz#19286d10c6b24a98cc906dc638256191686fa91f"
integrity sha1-GShtEMaySpjMkG3GOCVhkWhvqR8=
dependencies:
async ">= 0.1.22"
bunyan ">= 1.3.5"
**ldapjs "=1.0.2"**
underscore ">= 1.4.3"
***ldapjs@1.0.2***:
version …
Run Code Online (Sandbox Code Playgroud) continuous-integration node.js ldapjs yarnpkg yarn-lock.json
是否可以配置EBS使用yarn包管理器而不是NPM来安装我的NodeJS应用程序?
amazon-web-services node.js npm amazon-elastic-beanstalk yarnpkg
我很困惑哪个目录最适合缓存.我已经看过使用和推荐,但没有实际比较为什么采取这种或那种方式.
cache:
directories:
- node_modules
Run Code Online (Sandbox Code Playgroud)
但是,成千上万的地方使用它:
cache:
directories:
- $HOME/.npm
Run Code Online (Sandbox Code Playgroud)
那么为什么要使用其中一个,为什么不包括两个呢?
我使用 Yarn 安装了 Quasar 框架:
yarn global add @quasar/cli
但是安装似乎存在问题,我现在需要删除全局包。我检查了 Yarn 文档,他们有一个删除命令,但它似乎不是全局的。我知道 NPM 允许全局删除:
npm uninstall -g @quasar/cli
我怎样才能用 Yarn 做同样的事情?
适用于大型网络应用程序npm install
.yarn install
确实需要花费很多时间,主要是在一个叫做的步骤中Linking Dependencies
.这里发生了什么?它是否获取依赖项的依赖项?还是完全不同的东西?在此步骤中创建了哪些文件?
是否有相当于纱线分辨率功能的npm ?在npm package.json docs中没有提到它.
例如,我想在3.3.2安装lerna@3.3.2及其中一个依赖项(@ lerna/publish).目前使用像这样的纱线,但更喜欢使用npm而不是手动更改package-lock.json或类似的任何狡猾.
"devDependencies": {
"lerna": "3.3.2",
},
"resolutions": {
"@lerna/publish": "3.3.2"
}
Run Code Online (Sandbox Code Playgroud) yarnpkg ×10
npm ×8
node.js ×3
android ×1
bower ×1
homebrew ×1
javascript ×1
ldapjs ×1
npm-install ×1
npm-start ×1
package.json ×1
quasar ×1
react-native ×1
travis-ci ×1