“已经是最新的”和“运行'yarn'以安装缺少的依赖项”?

时间:2019-05-15 04:50:30

标签: npm ember.js yarnpkg

我有些奇怪的情况,其中“ ember s ”报告“ 纱包缺失”,然后是丢失的纱包列表(其中两个)然后“ 运行'yarn'以安装缺少的依赖项”。

但是,当我运行“ 纱线”时,我收到消息“ 成功已经是最新的”。

有什么想法如何摆脱这个圈子吗?


在开始之前我做了一些事情,我想这是我问题的根源

摆脱附加组件

我安装了Ember附加组件,该附加组件产生了问题,因此我决定摆脱它。为此,我执行了以下操作:

git push -f origin 913c2dee12b0363df0664c9c63e0443abe0adb57:foo-bar
git reset --hard 913c2dee12b0363df0664c9c63e0443abe0adb57
yarn
yarn install
yarn clean
yarn install
yarn

在安装不需要的加载项之前,最后一次提交913c2dee12b0363df0664c9c63e0443abe0adb57的位置。我认为这样做没有什么错,但是现在我在想。


正在运行的Ember Server的输出

当我运行'ember s'时,我得到这个输出...

DEPRECATION: ember-cli-babel 5.x has been deprecated. Please upgrade to at least ember-cli-babel 6.6. Version 5.2.8 located: foobar -> ember-cli-build-date -> ember-cli-babel

Missing yarn packages:
Package: @bower_components/jquery
  * Specified: jquery/jquery-dist#
  * Installed: (not installed)

Package: @bower_components/jstree
  * Specified: vakata/jstree#^3.3.5
  * Installed: (not installed)

Run `yarn` to install missing dependencies.



Stack Trace and Error Report: /tmp/error.dump.33c6e8c0abc9fc8abd355dc080268f9c.log
An error occurred in the constructor for ember-cli-dependency-checker at /media/mint/dev/foobar/node_modules/ember-cli-dependency-checker

关于ember-cli版本的警告

我认为这无关紧要,只是为了完整性

运行“纱线”会在输出文本中显示以下内容...

警告foobar@0.0.0:“依赖项”具有范围为“〜3.8.1”的依赖项“ ember-cli”,与版本为“ 3.8”的同名“ devDependencies”中的依赖项发生冲突< / em>


编辑:好的,我能够在dwenzel的评论帮助下解决此问题...

rm -rf node_modules && yarn

尽管实际上导致了另一个问题,我几乎可以肯定与之无关,但是我只在这里提及,以防对以后的人们有用。

yarn的执行最初因以下错误而失败...

35238 verbose stack Error: node-sass@4.5.3 postinstall: `node scripts/build.js`
35238 verbose stack Exit status 1
35238 verbose stack     at EventEmitter.<anonymous> (/home/rshea/.nvm/versions/node/v10.15.3/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:301:16)
35238 verbose stack     at EventEmitter.emit (events.js:189:13)
35238 verbose stack     at ChildProcess.<anonymous> (/home/rshea/.nvm/versions/node/v10.15.3/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
35238 verbose stack     at ChildProcess.emit (events.js:189:13)
35238 verbose stack     at maybeClose (internal/child_process.js:970:16)
35238 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5)
35239 verbose pkgid node-sass@4.5.3
35240 verbose cwd /media/mintextra/dev/ddn-build-test-temp/foobar
35241 verbose Linux 3.13.0-169-generic
35242 verbose argv "/home/rshea/.nvm/versions/node/v10.15.3/bin/node" "/home/rshea/.nvm/versions/node/v10.15.3/bin/npm" "install"
35243 verbose node v10.15.3
35244 verbose npm  v6.4.1
35245 error code ELIFECYCLE
35246 error errno 1
35247 error node-sass@4.5.3 postinstall: `node scripts/build.js`
35247 error Exit status 1
35248 error Failed at the node-sass@4.5.3 postinstall script.
35248 error This is probably not a problem with npm. There is likely additional logging output above.
35249 verbose exit [ 1, true ]

我能够通过...解决该问题

npm install node-sass@latest
npm install

...此时ember s可以正常运行。

3 个答案:

答案 0 :(得分:3)

您似乎想yarn install --check-files来验证文件是否尚未从node_modules中删除。这样可以避免擦除耗时的node_modules文件。

https://classic.yarnpkg.com/en/docs/cli/install/#toc-yarn-install-check-files https://github.com/yarnpkg/yarn/issues/2240

答案 1 :(得分:1)

当yarn像这样感到困惑时,通常可以通过在安装之前清除节点模块来解决问题:

rm -rf node_modules && yarn

答案 2 :(得分:0)

我设法解决此问题而不删除整个node_modules目录的方法只是从topLevelPatterns中的node_modules/.yarn-integrity删除模块。

免责声明:我不知道这意味着什么,但是纱线的完整性已经受到质疑,它的工作原理如此!!