首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >管理不同环境下纱线安装的最佳实践

管理不同环境下纱线安装的最佳实践
EN

Stack Overflow用户
提问于 2019-11-15 18:07:13
回答 1查看 884关注 0票数 1

对于MacOS和Linux上的点文件,我使用相同的MacOS。直到最近有一个软件包停止在Linux上安装,这才成为问题。(失败的原因是软件包期望安装Alfred,一个MacOS应用程序)。当在我的Linux中找不到它时,安装就会失败。

处理这类事情最好的方法是什么?我应该有两个不同的package.json文件吗?一种是通用的,另一种是针对Mac的软件包?

作为参考,我目前得到的依赖项是:

代码语言:javascript
运行
复制
  "devDependencies": {
    "acorn": "^7.1.0"
  },
  "dependencies": {
    "alfred-fkill": "^0.4.1",
    "bash-language-server": "^1.6.1",
    "eslint": "^6.6.0",
    "fkill-cli": "^5.2.0",
    "jsonlint": "^1.6.3",
    "prettier": "^1.19.1"
  }

我在Linux下遇到的错误是:

代码语言:javascript
运行
复制
$ yarn upgrade
yarn upgrade v1.19.0
[1/4] Resolving packages...
warning alfred-fkill > fkill > taskkill > execa > cross-spawn-async@2.2.5: cross-spawn no longer requires a build toolchain, use it instead
warning bash-language-server > turndown > jsdom > left-pad@1.3.0: use String.prototype.padStart()
warning jsonlint > nomnom@1.8.1: Package no longer supported. Contact support@npmjs.com for more info.
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Rebuilding all packages...
error /home/oalders/dot-files/node_modules/alfred-fkill: Command failed.
Exit code: 1
Command: alfy-init
Arguments:
Directory: /home/oalders/dot-files/node_modules/alfred-fkill
Output:
{ Error: Command failed: alfred-link
Error: Alfred preferences not found at location /home/oalders/Library/Application Support/Alfred/prefs.json
    at module.exports (/home/oalders/dot-files/node_modules/resolve-alfred-prefs/index.js:44:9)
    at makeError (/home/oalders/dot-files/node_modules/alfy/node_modules/execa/index.js:174:9)
    at Promise.all.then.arr (/home/oalders/dot-files/node_modules/alfy/node_modules/execa/index.js:278:16)
    at process._tickCallback (internal/process/next_tick.js:68:7)
  code: 1,
  stdout: '',
  stderr:
   'Error: Alfred preferences not found at location /home/oalders/Library/Application Support/Alfred/prefs.json\n    at module.exports (/home/oalders/dot-files/node_modules/resolve-alfred-prefs/index.js:4
4:9)\n',
  failed: true,
  signal: null,
  cmd: 'alfred-link',
  timedOut: false,
  killed: false }
info Visit https://yarnpkg.com/en/docs/cli/upgrade for documentation about this command.
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-21 17:24:56

我的解决方案是,我已经决定滥用devDependencies。我已经将alfred-fkill (仅MacOS节点模块)声明为一个dev依赖项。然后在Linux上运行yarn install --production=true。这将忽略开发人员,并且我不再有一个失败的安装。在我的Mac上,我将运行yarn install,它将安装所有的东西,就像以前一样。这很管用,但很奇怪。

我只剩下:

代码语言:javascript
运行
复制
  "devDependencies": {
    "alfred-fkill": "^0.4.1"
  },
  "dependencies": {
    "acorn": "^7.1.0",
    "bash-language-server": "^1.6.1",
    "eslint": "^6.6.0",
    "fkill-cli": "^5.2.0",
    "jsonlint": "^1.6.3",
    "prettier": "^1.19.1"
  }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58882496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档