【问题标题】:Installing local Node.js project globally全局安装本地 Node.js 项目
【发布时间】:2020-05-12 05:18:42
【问题描述】:

我正在尝试在我的系统中全局安装我的定制项目,以便我可以从 cmd 调用我计算机中的任何位置,但它并不完全有效。 我试过了:

npm install -g .

还有更多,但我不记得了。这是我的 package.json:

...
"name": "nodejs-insta-reddit-cli",
  "version": "1.0.0",
  "description": "",
  "main": "./build/index.js",
  "bin": {
    "instapostwouter": "./build/index.js"
  },
...

主路径位于./build/index.js 的原因是因为我使用的是打字稿。

所以我的问题是:我将如何在全球范围内安装我的项目,以便我可以在我的工作站上的任何目录中使用它?

【问题讨论】:

  • docs.npmjs.com/cli/link.html 您需要为此目的使用 npm 链接。
  • 当我在我的项目目录中运行npm link时,似乎安装了它,但我仍然无法访问instapostwouter
  • 你是如何访问它的?
  • 在管理员模式下在重启的 cmd 中输入 instapostwouter
  • 这是一个cli模块吗?

标签: javascript node.js typescript npm global


【解决方案1】:

在要全局访问的本地模块目录中使用npm link

然后你使用npm link package_name添加它。

或者您可以发布模块(私有或公共)并使用全局安装并使用它。

更多关于Npm Link的信息

注意:如果您使用的是 cli 包,请确保您在 package.json 文件中有一个 bin 文件夹和条目。

【讨论】:

  • 我创建了bin 文件夹并将index.js 放入其中,然后将路径bin(在package.json 中)更改为./bin/index.js。然后我做了npm linknpm link instapostwouter。但是当我尝试在 cmd 中运行 instapostwouter 时,它仍然不起作用:'instapostwouter' is not recognized as an internal or external command, operable program or batch file.
  • 我尝试重新启动命令提示符并在管理员模式下启动命令,但似乎没有任何效果。我从来没有在任何项目中使用它,所以我真的不知道问题出在哪里是。
  • 它非常奇怪的行为尝试将节点 js 更新为 LTS。
  • 好的,我说得更远了。现在,当我运行 instapostwouter 时,我得到以下弹出窗口:imgur.com/a/ZX8m1aY
  • 这是包含第 155 行的代码:codepile.net/pile/r93qPZK4
猜你喜欢
  • 2018-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-02
  • 2015-02-07
  • 1970-01-01
  • 2013-12-30
相关资源
最近更新 更多