我正在尝试将JS模块发布到npm并再次安装。
此模块重写shell命令ls
。
这是我的package.json
:
{
"bin": {
"nls": "./script/ls.js",
},
"dependencies": {
"chalk": "^2.4.1",
"yargs": "^11.0.0"
}
}
这是我的ls.js
:
#!/usr/bin/env node
const fs = lsrequire('fs')
const path = require('path')
const chalk = require('chalk')
let recentDir = process.env.PWD
fs.readdir(recentDir,(err,files)=>{
if(err){
console.log(err)
}
files.forEach((fileName)=>{
let stat = fs.lstatSync(path.join(recentDir,fileName))
if (stat.isDirectory()) {
console.log(chalk.blue(fileName))
}else{
console.log(fileName)
}
})
})
这个脚本在我的电脑上运行正常。
但是当我将它发布到npm时,我尝试安装它
sudo npm install [moduleName] -g
我尝试使用命令nls
它抛出错误:
Error: Cannot find module 'chalk'
npm不会为我的模块安装依赖项,如何解决?