我的本地机器上有一些不同的项目。其中一些使用AWS Codeartifact下载AWS Codeartifact中的私有依赖项,而另一些则不使用。使用 AWS Codeartifact 的项目使用 Yarn 管理其依赖项,而我的不使用 AWS Codeartifact 的项目使用 NPM 管理其依赖项。
当我在 NPM 中运行一个简单的命令时,例如:
npm install nanoid
Run Code Online (Sandbox Code Playgroud)
npm 尝试连接到我的 AWS Codeartifact,但出现错误:
Unable to authenticate, need: Bearer realm="domain-npm-repo/npm-repo", Basic realm="domain-npm-repo/npm-repo"
Run Code Online (Sandbox Code Playgroud)
如何配置我的机器以仅将 AWS Codearticaft 用于我想要的项目?
其他配置:
我的机器是 Windows 10,我使用我的凭据在全局安装了 aws-sdk。
我的项目文件夹中有以下结构:
\nsrc\n |\n -> assets\n |\n -> general-icons\n |\n pointer-arrow.svg\n |\n -> components\n |\n -> lazy-loader\n |\n LazyLoader.tsx\nRun Code Online (Sandbox Code Playgroud)\nLazyLoader 是一个功能性的 React 组件,我在其中动态导入一个组件,在本例中是一个 svg 文件
\nimport React from 'react';\n\nexport default function LazyLoader(path: string) {\n return React.lazy(() => import(path));\n}\nRun Code Online (Sandbox Code Playgroud)\n'path' 属性是一个字符串,包含 svg 文件的相对路径:
\nsrc/assets/general-icons/pointer-arrow.svg\nRun Code Online (Sandbox Code Playgroud)\n而pointer.svg是一个普通的svg:
\n<svg version="1.1" width="24" height="24" viewBox="0 0 24 24">\n <path d="M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z" />\n</svg>\nRun Code Online (Sandbox Code Playgroud)\n当我调用 LazyLoader 组件并将路径作为参数传递时,它会给出错误,因为它找不到 svg 模块:
\nError: Cannot find module 'src/assets/general-icons/pointer-arrow.svg'\nRun Code Online (Sandbox Code Playgroud)\n有人知道\xc2\xb4s 发生了什么吗?
\n