在 Windows10 上从依赖项的 package.json 获取“不被识别为内部或外部命令”

问题描述 投票:0回答:1

在我必须在 Windows 10 上设置的旧项目中,我们要做的第一件事是

yarn install
- 但随后我得到:

[5/5] Building fresh packages...
error C:\Users\...\project\node_modules\dependency-ui: Command failed.
Exit code: 255
Command: NODE_MODULES_BASE_DIR=${NODE_MODULES_BASE_DIR:-}; $NODE_MODULES_BASE_DIR/.bin/yarn-postinstall | true
Arguments:
Directory: C:\Users\...\project\node_modules\dependency-ui
Output:
'NODE_MODULES_BASE_DIR' is not recognized as an internal or external command,
operable program or batch file.
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.

当我打开该

dependency-ui
的 package.json 文件时 - 我看到:

...

  "scripts": {
    "postinstall": "NODE_MODULES_BASE_DIR=${NODE_MODULES_BASE_DIR:-}; $NODE_MODULES_BASE_DIR/.bin/yarn-postinstall | true",
    ...

我尝试设置这个

NODE_MODULES_BASE_DIR
- 现在我将它作为环境变量 - 但仍然遇到相同的错误。

难道这个

postinstall
脚本中的语法是错误的?或者与Windows不兼容?

npm node-modules
1个回答
0
投票

最终 - 我全局安装了

cross-env
,当我将其附加到依赖项 package.json 中的
postinstall
脚本时 - 然后它就可以工作了。

(有一个烦恼,如果我运行

yarn install
- 它会覆盖依赖项的 package.json 文件,并且
cross-env
的更改消失,我会得到相同的错误。因此 - 在失败之后 - 我使用以下命令进行更改
cross-env
,然后运行
yarn postinstall
- 这实际上可以解决问题:) ...)

© www.soinside.com 2019 - 2024. All rights reserved.