问题 在全局安装 npm 包的时候,比如 npm i npm-check -g,可能会报错,提示没有权限 Error: EACCES: permission denied, access '/usr...drwxrwxr-x 6 anna admin 192 12 12 15:45 .. drwxr-xr-x 23 root wheel 736 12 26 2018 npm...于是需要把所有者转到自己下面 2.看看自己是谁 whoami ------------------ anna 复制代码 通过 whoami 命令,看到我们现在登陆的用户是 anna,不是 root,于是没有权限也是符合预期的...chown 命令的介绍:www.cnblogs.com/peida/archi… 4.结束 这样 /usr/local/lib/node_modules 目录的所有者就更换完毕了,可以正常在全局安装 npm
如果在npm中没有找到对应的包,说明可以使用这个名称。 $ npm info xxxxxx 接下来要初始化模块。在GitHub上建立仓库,然后通过git clone命令将代码克隆到本地。...// 创建目录$ mkdir bin // 存放可执行文件目录// 创建文件$ touch bin/cli.js$ touch index.js 在bin/cli.js中键入如下代码。 #!...$ node cli.js -hthis is help info ▊ npm脚本 为了开发便利,一般我们会修改npm脚本,缩短执行命令的长度。另外,脚本也可以提供一些命令行工具所不具备的能力。...$ node cli.js --helpcli.js [命令] 命令: cli.js serve [port] start the server 选项: --help 显示帮助信息...因此,当别人写的代码或模块可用时,可以优先使用,没有可以满足需求的模块时再考虑自己开发。如此一来可以提高代码重用率,缩减代码量,同时也有助于提高代码的可读性和可维护性。
\node_modules\yarn\lib\cli.js:56952:58) at C:\Users\Administrator\AppData\Roaming\npm\node_modules...\yarn\lib\cli.js:56916:14 at C:\Users\Administrator\AppData\Roaming\npm\node_modules\yarn\lib\cli.js...\npm\node_modules\yarn\lib\cli.js:101343:10) at getRcConfigForCwd (C:\Users\Administrator\AppData...\Roaming\npm\node_modules\yarn\lib\cli.js:56915:74) at C:\Users\Administrator\AppData\Roaming\npm...2017 puppeteer问题 npm i -g puppeteer 安装成功 ?
) .action(() => { console.log('添加任务'); }); 4.运行node cli add,node + 文件名 + 子命令,输出添加任务 5.对于数据的保存这里没有使用数据库存...发布到 npm 配置 package.json { "name": "hi-node-todo", "bin": { "t": "cli.js" }, "files": [.../cli.js" } } 当你初始化npm,它会创建一个符号链接到cli.js脚本到/usr/local/bin/npm。如果你只有一个可执行文件,并且名字和包名一样。...cli.js const pkg = require('..../package.json') program .version(pkg.version) 测试,输入node cli.js --version,输出0.0.1 重新发布,直接npm publish
, 请求上述地址(我用的是npm淘宝源)将得到一个json响应, json中包含了electron的所有版本的版本信息, 如果安装时我们没有为electron指定版本号,将安装最新的版本。...并不会为所有的依赖包注入命令文件, 而且即使注入了命令文件的包也不一定存在cli.js文件, 比如npm就没有为core-js包注入命令文件,却为Mocha注入了两组命令文件, Electron或者Mocha...的独特之处在于它们的package.json里都有类似如下这样的配置(Mocha为bin对象配置了两个属性,所以npm为其生成了两组指令文件): "bin": { "electron": "cli.js.../index.js (这个文件我们还没有创建,不过没关系,在这一小节里这个文件并不是重点)。...值得注意的是cli.js文件的首行代码: #!
另外一个重要的部分就是bin,它指定了运行全局依赖时的入口文件,也就是cli.js文件,我们稍后再说这个。...在getArtifactRemoteURL方法中,可以看到,基础路径base是通过mirrorVar函数返回的,默认情况是没有nightly的,所以默认情况下是下面这个样子的: process.env[...`] || process.env[`ELECTRON_MIRROR`] || options['mirror'] || defaultValue 而我们很少传入env的,options也没有mirror...,而electron命令其实是调用依赖包中的cli.js文件,该文件内容如下: #!...我们再回到cli.js文件中,从代码中可以看出,里面启动了一个子进程,用子进程启动Electron的可执行文件,并且把参数传进去了。最后如果主进程中断或者出现错误,那么就把子进程杀掉。
包 使用npm init 初始化工程 按照提示填入相应的内容 1.6 到这里的目录结构 工程三大件以及npm包配置文件都有了 markdown-clear ------------- .gitignore.../lib/cli.js" } cli.js文件第一行添加 #!...安装本地文件 作为本地包 npm install path/to/markdown-clear 使用npm 安装本地文件 作为全局包 npm install path/to/markdown-clear...-g 2.4 文档输出 写文档 docs 目录 写代码相关的设计和使用文档,没有自然可以不用写 这里的文档应该在README.md 中会有入口。...3 发布NPM包 npm文档 如果没有注册npm账户 npm adduser USERNAME 如果没有登录 npm login 登录后发布包,在工程目录下执行 npm publish
script 命令行,自定义的npm脚本,npm 内置了两个简写的命令:npm test 和 npm start,其它命令要写成 npm run xxx 形式,这个对象中的键值对键名代表npm脚本的命令...从当前文件目录开始查找node_modules目录,如果没有,则进入父级目录,查找父级目录下的node_modules目录;直到根目录下的node_modules目录。...与 npm2相比有什么改进?...针对 npm2 的问题,npm3 加了点算法,直白的解释就是:npm install 时会按照 package.json 里依赖的顺序依次解析,遇到新的包就把它放在第一级目录,后面如果遇到一级目录已经存在的包...npm 内置了两个简写的命令:npm test 和 npm start,其它命令要写成 npm run xxx 形式 9、gulp是什么?
ios --dev false --bundle-output release_ios/main.jsbundle --assets-dest release_ios/ 方便使用,可以把打包命令写到npm...script中 "scripts": { "start": "node node_modules/react-native/local-cli/cli.js start", "bundle-ios...":"node node_modules/react-native/local-cli/cli.js bundle --entry-file index.ios.js --platform ios --...dev false --bundle-output release_ios/main.jsbundle --assets-dest release_ios/" }, 运行命令直接打包: npm run...在执行打包命令之前,先确保在项目的根目录有release_ios文件夹,没有的话创建一个。
npm 源管理工具 nrm npm install -g nrm 全局安装后执行命令报错: internal/validators.js:124 throw new ERR_INVALID_ARG_TYPE... (C:\Users\Deshun\AppData\Roaming\npm\node_modules\nrm\cli.js:17:20) at Module.... at internal/main/run_main_module.js:17:47 ] { code: 'ERR_INVALID_ARG_TYPE' } 解决方法: 可以看到报错内容中有一个 cli.js...未经允许不得转载:w3h5 » npm源管理工具nrm报错:ERR_INVALID_ARG_TYPE解决
介绍 好久没更新了,最近一直忙于业务开发,没有多少时间学习自己的东西,抽着某天晚上的功夫写了一个脚手架,其实就是一个简单的node脚本。...开始 发现问题之后就要解决问题,在阅读UmiJs的脚手架工具create-umi的源码之后,可以看出其实就是利用npm的bin字段,向全局注册一个命令,这个命令就可以使用。...比如如下代码: // package.json { "bin": { "create-osdoc-app": "cli.js" }, } 注册了这样一个命令,其中的create-osdoc-app...就是全局需要使用的命令,对应的cli.js是本地的一个文件。...// cli.js // 查看版本 if (args.v || args.version) { console.log('version', chalk.blue(package.version
将npm源代码解压到D:\npmjs目录中。...在命令提示符窗口中执行下面的操作,完成npm的安装: D:\>cd npmjs D:\npmjs>node cli.js install -gf 另外: node cli.js install...npm -gf //可以安装最新版的NPM node cli.js install npm@2.9.1 -gf //可以安装指定版本的NPM 上面两种方法都是通过网络从代码库中下载并安装,但是代码库一般只保留最近的两个版本...安装express: npm install express -g //安装最新版express npm install express@2.5.0 //安装指定版本express npm remove...express -g //删除express 更多npm使用方法,请参考npm官方网站:http://npmjs.org 至此部署完成。
// core\lerna\cli.js // 引入 import-local const importLocal = require("import-local"); // 判断 importLocal...// 然后调用 resolveCwd 判断当前项目的本地有没有这个模块 返回本地模块所在的路径 const localFile = resolveCwd.silent(path.join(pkg.name...vue-cli 为例,最基本的命令 vue create project --force bin:package.json 中配置的 bin 属性,可以理解为主命令,也就是 vue,本地开发的时候通过 npm...describe,builder,handler) Yargs.command({command,describe,builder,handler}) lerna 的实现原理是什么 lerna 是基于 git + npm...Lerna 通过配置 npm 本地依赖的方式来进行本地开发,具体写法是在 package.json 的依赖中写入:file:your-local-module-path,在 lerna publish
开场 工作中会经常用到npm install或是npm update,那这两个命令有什么区别呢 可以用一个文件来看下 { "name": "my-project", "version...not-yet-installed-versioned-module": "2.7.8" // installs installs } } 由此可以看到两者之间的差别就是对于已经安装的包,没有明确版本号的...npm install会忽略 npm update会升级 其他 另外, install和update在devDependecies上也是有差别的 npm install默认会安装devDependecies...,除非加上--production参数 npm update不会默认安装,除非手动加上--dev参数 install的其它功能 手动安装某个指定的包 全局安装,npm i -g 从某一个git版本安装或是...git url安装,npm install git+ssh://git@github.com:npm/cli.git#v1.0.27 强制重装, npm install --force 参考: stackoverflow.com
折腾: 期间,遇到一个奇怪的现象: 用npm remove xxx或npm uninstall xxx后 xxx并没有从package.json中去掉:➜ HeadquarterReport git:...结果发现: package.json 中的配置: “element-ui”: “1.4.3”, 并没有主动删除掉: 所以再去安装新的:➜ HeadquarterReport git:(permission-control...-》之前也没有加参数,为何可以更新?...【后记】 后来通过npm install时,结果发现也没有更新package.json:➜ HeadquarterReport git:(permission-control) ✗ npm install...没有把element-ui加进去。 after npm install package.json not update 好像也必须是加上参数,才可以?
{ "bin": { "fixit": "bin/cli.js" } } 然后在 bin 目录下创建 cli.js 文件,写入以下内容: #!.../usr/bin/env node 是告诉终端,这个文件要使用 node 去执行,等同于 node bin/cli.js。...如果我们想要在终端执行 fixit 命令,可以使用 npm link 将 fixit 命令链接到全局。...npm link # 卸载本地包 npm unlink fixit 或者也可以使用 npm install -g 全局安装。...npm login npm publish 发布后,就可以通过 npm install -g fixit-cli 全局安装了。
我们在开发时,有时需要进行npm源的切换。nrm和yrm作为npm / yarn的镜像源管理工具,可以快速地在 npm 源间切换,提高我们的效率。...一、nrm nrm的安装 npm install -g nrm 复制 查看可用源 nrm ls //带*号的是当前使用源 npm -------- https://registry.npmjs.org...install -g yrm 复制 查看可用源 yrm ls //带*号的是当前使用源 npm -------- https://registry.npmjs.org/ yarn -------... (C:\Users\honvin\AppData\Roaming\npm\node_modules\nrm\cli.js:17:20) at Module....\node_modules\nrm 打开cli.js 找到这行代码 const NRMRC = path.join(process.env.HOME, '.nrmrc'); 复制 替换成 const
问题描述:npm i 依赖安装成功,但是项目目录文件没有显示node_modules(之前我npm i,直接就是安装到当前项目目录,这次不知为何,仅仅是把package.lock.js文件删除掉后再npm...i就直接安装到全局)问题思考:可能是把依赖安装到全局了 解决方案1.查看是否安装有全局依赖npm root -g //查看全局下,是否有自己安装的包可以看到,我是有全局安装依赖的,根据路径可以找到2....查看npm配置信息npm config list //查看npm配置可以看到配置信息 global = false,意思局部安装,如果全局的话为true 3.修改配置信息npm config set...global = false4.重新npm i安装依赖我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!
终端交互 下载远程项目代码 项目初始化完成提示 开始操作 第一,在新建工程中新建文件夹bin,并且创建xxx.js文件 如图所示: 第二,打开命令行窗口输入 npm...tomcli", "version": "1.0.0", "description": "", "main": "index.js", "bin": { "tomcli": "bin/cli.js...1" }, "author": "", "license": "ISC" } 没错 ,主要就是第6行的bin,有了我们自定义的文件 第四,然后我们再去自定义我们的bin文件夹里的cli.js...这两个符号就叫shebang,是不是感觉说了相当于没有说 In computing, a shebang is the character sequence consisting of the characters...目录不一样 我们可以打开这个文件看一眼 看来是没问题 第七,我们现在就可以在任意的命令行里输入tomcli然后会输出tomcli 然后 然后 然后 就报错了 从各大知名debug网站搜了一晚上也没有解决方案
领取专属 10元无门槛券
手把手带您无忧上云