【问题标题】:npm - install dependencies for a package in a different folder?npm - 为不同文件夹中的包安装依赖项?
【发布时间】:2012-11-10 00:11:03
【问题描述】:

我的目录结构如下:

/some_project
    source.js
    package.json

我想为 some_project 安装依赖项。 我知道我可以 cd 进入 some_project 然后运行 ​​npm install

但我想知道是否可以不更改目录? 像

npm install some_project/package.json 

【问题讨论】:

    标签: node.js npm


    【解决方案1】:

    您可以将npm install <folder> 变体与--prefix 选项一起使用。在您的方案中,文件夹和前缀将是相同的:

    npm --prefix ./some_project install ./some_project
    

    【讨论】:

    • 这是问题的真正答案。谢谢@coudy。
    • 顺便说一句,它会在目的地创建空的etc 文件夹,这是一个已知的错误github.com/npm/npm/pull/7249
    • 感谢您的回答。是否需要第二个./some_project 是否有更明确的说明?
    • 不需要第二个./some_project
    • 这在 Windows 10 上似乎对我不起作用。它将依赖项安装在当前目录中,并在子文件夹中放置一个符号链接。
    【解决方案2】:

    更新:由于存在--prefix 选项,我现在投票支持@coudy 对此问题的回答。原答案如下:

    不,npm 将始终安装在当前目录中,或者与-g 一起安装在系统范围的 node_modules 中。不过,您可以使用 subshel​​l 来完成此操作,这不会影响您的当前目录:

    (cd some_project && npm install)
    

    括号使它在subshell中运行。

    【讨论】:

    • 这就是我最终所做的 - cd some_project && npm install。谢谢
    • 在 Windows 上是否有类似的功能?
    • @Meligy 你可以使用START /D "%my_dir%" /I /WAIT npm install
    【解决方案3】:

    在使用 powershell 的 Windows 10 上,唯一对我有用的东西没有this blog post 中提到的所有问题和边缘情况

    Start-Process -Wait -FilePath "npm" -ArgumentList "install" -WorkingDirectory $web_dir
    

    【讨论】:

      【解决方案4】:

      在 Windows 10 上,我无法让 --prefix 工作,所以我不得不 cd 并执行它。

      cd PATH_TO_FOLDER && npm install 
      

      【讨论】:

        【解决方案5】:

        在根目录下创建一个package.json,内容如下:

        {
            "dependencies": {
                "helloworldprojectname": "file:hello\\world"
            }
        }
        

        然后调用它来安装:

        npm install --prefix ./hello/world
        

        它使用./hello/world/package.json 安装./hello/world/node_modules

        (Windows 10,节点 v10.16.0,npm 7.6.1)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-04-18
          • 2017-09-30
          • 2015-04-07
          • 2015-05-30
          • 1970-01-01
          • 2016-03-14
          • 1970-01-01
          • 2013-08-26
          相关资源
          最近更新 更多