如何在安装时直接执行“npm link”
我有一个内部项目,我想用bin
命令链接到一个文件。 喜欢期待这个package.json
:
{ "name": "my-project", "bin": { "cli-name": "./bin/my-executable.js" }, "dependencies": { "node-red": "^1.0.0" } }
执行npm install
,所有的依赖关系都会被安装,并且node-red
的bin
configuration也会被创build。
但我自己的bin
将被完全忽略。 在cmd
不能使用cli-name
。 第二步也需要执行npm link
。 然后cli-name
将在控制台中作为命令使用。 我甚至尝试使用npm link
的npm
postinstall
脚本,但后来我得到了一个循环…
有没有一种方法可以在npm install
上一步完成?
似乎实际上没有内置的方式来自动执行这个任务。 所以我直接向npm
创build了这个function的请求。 似乎可以执行像npm il
这样的新命令。
当这个或另一种方式可用时,我会在这里更新这个。
你可以尝试改变你的package.json
是这样的:
{ "name": "my-project", "script": { "cli-name": "./bin/my-executable.js", "postinstall": "npm run cli-name" }, "dependencies": { "node-red": "^1.0.0" } }
然后运行:
npm install
你可以在你的package.json
创build一个脚本,在一个命令中执行这两个任务,如下所示:
{ "name": "my-project", "bin": { "cli-name": "./bin/my-executable.js" }, "scripts": { "install-link": "npm install && npm link my-project" }, "dependencies": { "node-red": "^1.0.0" } }
然后运行npm run install-link
,它将运行这两个命令。
npm-link的确是为了不同的目的。 你做npm安装的那一刻,你应该可以在命令行中使用它。
npm链接用于将您当前的开发文件夹链接到您的软件包的安装目录。 这是因为你正在改变你的开发文件夹,它已经自动在cli上可用,你不必重新安装。
安装后,尝试去usr / local / bin < – 这是它应该在哪里。 如果你在这里找不到我的executable.js。 然后在安装过程中出现问题。
为了运行global
二进制( bin
)模块,您需要全局安装它。
npm -g install
https://bretkikehara.wordpress.com/2013/05/02/nodejs-creating-your-first-global-module/
另一个select(如果你在Linux上)是使用$(npm bin)/<module>
如果它没有全局安装的话。
- 如何让所有控制器都可以使用Q等库?
- 刷新表信息,而不是追加
- Meteor + node-amqp:无法通过SSL连接到RabbitMQ服务器
- 从GitHub获取npm模块带来“.git”文件夹
- node-mongodb-native:如何通过我的应用程序共享连接callback的db api对象
- Postgresql连接在node.js和pg中超时
- Node.js – 如果我调用response.end而I / O和callback仍在运行会发生什么?
- 错误:ImportError:没有名为docx的模块 – >使用nodeJS python-shell包来控制python脚本
- 有没有节点模块来检测已经运行的文件?